Ok je viens de refaire sudo du -h --max-depth=1 | sort -h
et j’ai un résultat en fait plus cohérent que la fois précédente :
184M ./opt
288M ./root
853M ./lib
2.0G ./usr
15G ./var
101G ./mnt
Je ne sais pas ce qui provoqué ce changement par contre. Un redémarrage entre temps peut-être ?
En tout cas, là je comprends bien que le volume indiqué pour ./mnt
c’est bien ce qui est dans le volume attaché.
Et donc le principal fautif qui remplit mon disque sda3 c’est le dossier ./var. Or, si je comprends bien cette doc linux j’y apprends que ce dossier sert principalement à :
“Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.”
Je comprends qu’il y a du ménage à faire
En suivant quelques conseils, par là, je commence par :
sudo apt-get autoclean
et hop 1Go récupéré
ensuite sudo apt-get autoremove
mais pas de grand miracle.
Je continue mon exploration en rentrant dans le dossier /var
puis je fais toujours sudo du -h --max-depth=1 | sort -h
pour voir les plus gros dossiers :
4.0K ./local
4.0K ./opt
28K ./xmpp-upload
124K ./tmp
1.5M ./spool
2.8M ./backups
9.3M ./cache
630M ./mail
924M ./www
5.3G ./lib
7.1G ./log
14G .
Etrange que le dossier de log soit aussi énorme (!). Je rentre dedans et je check à nouveau les plus gros dossiers à l’intérieur :
4.0K ./nextcloud
4.0K ./ntpstats
4.0K ./private
4.0K ./samba
28K ./uwsgi
32K ./mysql
56K ./postgresql
120K ./metronome
124K ./unattended-upgrades
148K ./apt
160K ./redis
6.0M ./rspamd
9.7M ./nginx
19M ./yunohost
6.9G ./matrix-synapse
7.1G .
Et nous y voilà ! C’est ce dossier matrix-synapse
qui prend toute la place ! Ça ne devrait pas être le cas, car de ce que je comprends il y a l’utilitaire logrotate qui devrait se charger de compresser et nettoyer ça régulièrement. Donc il manque peut-être un fichier de configuration pour s’occuper de faire le ménage des log de synapse, un serveur Matrix, installé sur mon instance.
Pourtant, en checkant dans le dossier /etc/logrotate.d
je trouve bien un fichier de conf. pour synapse dont le contenu est le suivant :
/var/log/matrix-synapse/*.log {
# Rotate if the logfile exceeds 100Mo
size 100M
# Keep 12 old log maximum
rotate 12
# Compress the logs with gzip
compress
# Compress the log at the next cycle. So keep always 2 non compressed logs
delaycompress
# Copy and truncate the log to allow to continue write on it. Instead of move the log.
copytruncate
# Do not do an error if the log is missing
missingok
# Not rotate if the log is empty
notifempty
# Keep old logs in the same dir
noolddir
}
Donc ça semble pas trop mal (encore que 12 archives je peux m’en passer ceci dit) mais bon.
Donc je suis allé dans le dossier /var/log/matrix-synapse
puis ls -lh
et là :
-rw-rw-r--+ 1 matrix-synapse root 5.8G May 24 23:17 homeserver.log
-rw-rw-r--+ 1 matrix-synapse root 103M Dec 8 2020 homeserver.log.1
-rw-rw-r--+ 1 matrix-synapse root 100M Oct 24 2019 homeserver.log.10
-rw-rw-r--+ 1 matrix-synapse root 12M Sep 30 2020 homeserver.log.10.gz
-rw-rw-r--+ 1 matrix-synapse root 12M Sep 25 2020 homeserver.log.11.gz
-rw-rw-r--+ 1 matrix-synapse root 11M Sep 20 2020 homeserver.log.12.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 21 2019 homeserver.log.2
-rw-rw-r--+ 1 matrix-synapse root 7.9M Dec 4 2020 homeserver.log.2.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 16 2019 homeserver.log.3
-rw-rw-r--+ 1 matrix-synapse root 11M Nov 27 2020 homeserver.log.3.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 12 2019 homeserver.log.4
-rw-rw-r--+ 1 matrix-synapse root 12M Nov 19 2020 homeserver.log.4.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 7 2019 homeserver.log.5
-rw-rw-r--+ 1 matrix-synapse root 12M Nov 12 2020 homeserver.log.5.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 4 2019 homeserver.log.6
-rw-rw-r--+ 1 matrix-synapse root 12M Nov 3 2020 homeserver.log.6.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Nov 1 2019 homeserver.log.7
-rw-rw-r--+ 1 matrix-synapse root 12M Oct 29 2020 homeserver.log.7.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Oct 30 2019 homeserver.log.8
-rw-rw-r--+ 1 matrix-synapse root 11M Oct 21 2020 homeserver.log.8.gz
-rw-rw-r--+ 1 matrix-synapse root 100M Oct 27 2019 homeserver.log.9
-rw-rw-r--+ 1 matrix-synapse root 12M Oct 9 2020 homeserver.log.9.gz
-rw-rw----+ 1 matrix-synapse root 964 May 22 11:43 turnserver.log
Donc ce que je comprends c’est que concrètement depuis décembre, logrotate n’a pas fait le taff est a laissé s’accumuler une belle boulette de 5.8Go de log…
Je tente donc de lancer manuellement le script de logrotate pour voir ce qu’il se passe : sudo logrotate /etc/logrotate.d/synapse
et j’obtiens sans surprise une erreur :
error: Ignoring /etc/logrotate.d/synapse because it is writable by group or others.
Ce qui doit expliquer pourquoi le log n’a pas été nettoyé depuis. Peut-être qu’une mise à jour du serveur synapse a provoqué cette erreur
Je comprends là que cette erreur est lié à la permission donnée au fichier de conf dans logrotate et en effet, si je fais ls -la /etc/logrotate.d/
je vois :
drwxr-xr-x 2 root root 4096 Mar 30 15:53 .
drwxr-xr-x 104 root root 4096 May 20 06:25 ..
-rw-r--r-- 1 root root 120 Apr 19 2019 alternatives
-rw-r--r-- 1 root root 173 May 12 2020 apt
-rw-r--r-- 1 root root 79 Apr 19 2017 aptitude
-rw-r--r-- 1 root root 130 Aug 29 2018 btmp
-rw-r--r-- 1 root root 112 Apr 19 2019 dpkg
-rw-r--r-- 1 root root 313 Apr 17 2017 fail2ban
-rw-r--r-- 1 root root 231 Jan 16 2019 metronome
-rw-r--r-- 1 root root 173 Feb 24 2020 monitorix
-rw-r--r-- 1 root root 802 Oct 12 2020 mysql-server
-rw-r--r-- 1 root root 580 Dec 10 09:16 nextcloud
-rw-r--r-- 1 root root 329 Aug 19 2019 nginx
-rw-r--r-- 1 root root 215 Feb 27 2021 php7.3-fpm
-rw-r--r-- 1 root root 173 Nov 12 2019 postgresql-common
-rw-r--r-- 1 root root 627 May 14 2021 rainloop
-rw-r--r-- 1 root root 124 Jul 10 2019 redis-server
-rw-r--r-- 1 root root 226 Nov 10 2018 rspamd
-rw-r--r-- 1 root root 501 Feb 26 2019 rsyslog
-rw-rw-rw- 1 root root 585 Jan 2 2021 synapse
-rw-r--r-- 1 root root 235 Dec 11 2016 unattended-upgrades
-rw-r--r-- 1 root root 145 Feb 19 2018 wtmp
-rw-r--r-- 1 root root 136 Sep 11 2020 yunohost
Et voilà que la conf de synapse n’a pas les même permissions que tout le reste ! Le fichier date du 2 janvier, tout semble concorder.
Je change la permission du fichier sudo chmod 644 /etc/logrotate.d/synapse
et je relance sudo logrotate /etc/logrotate.d/synapse
et…
Ça semble tourner mais j’ai une nouvelle erreur :
error: error writing to /var/log/matrix-synapse/homeserver.log.1: No space left on device
error: error copying /var/log/matrix-synapse/homeserver.log to /var/log/matrix-synapse/homeserver.log.1: No space left on device
Donc ça semble fonctionner mais juste comme pas assez de place ben ça fonctionne pas.
Allez j’édite le fichier de conf sudo vi /etc/logrotate.d/synapse
pour ne garder que 2 archives :
/var/log/matrix-synapse/*.log {
# Rotate if the logfile exceeds 100Mo
size 100M
# Keep 2 old log maximum
rotate 2
# Compress the logs with gzip
compress
# Compress the log at the next cycle. So keep always 2 non compressed logs
delaycompress
# Copy and truncate the log to allow to continue write on it. Instead of move the log.
copytruncate
# Do not do an error if the log is missing
missingok
# Not rotate if the log is empty
notifempty
# Keep old logs in the same dir
noolddir
}
et je retente sudo logrotate /etc/logrotate.d/synapse
mais ça ne semble pas suffisant. Évidemment je suis toujours bloqué par ce satané manque de place. Je ne peux pas compresser cette énorme archive de 5.8Go… Et même si j’effaçais toutes les autres archives, je ne libererais qu’environ 2Go donc je serai toujours au même point.
La question est donc : est-ce que je peux simplement supprimer ce fichier de log ? Mais de ce que j’ai pu lire par là ça ne semble pas être vraiment une bonne idée… et je devrais utiliser logrotate ce que j’ai déjà fait et qui ne suffira pas même si je mettais rotate à 0.
Mais bon vu où j’en suis… ben je vais tenter quand même. Je supprime donc le fichier en question.
Puis je reboot le serveur sudo yunohost tools reboot
Déjà, on est bien mieux côté espace sur sda3 :
Filesystem Size Used Avail Use% Mounted on
udev 957M 0 957M 0% /dev
tmpfs 195M 5.6M 190M 3% /run
/dev/sda3 19G 12G 6.4G 65% /
tmpfs 974M 16K 974M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 974M 0 974M 0% /sys/fs/cgroup
/dev/sdb 345G 101G 229G 31% /mnt/volume-ziad
/dev/sda2 121M 512 121M 1% /boot/efi
tmpfs 195M 0 195M 0% /run/user/1007
Je me connecte à Matrix sans souci, donc rien de cassé. Et je check le dossier des logs de synapse et il y a bien un nouveau fichier qui s’est créé. Je tente un petit logrotate et pas d’erreur. Espérons que ça tienne ainsi et que je n’ai pas à revenir faire le ménage
Allez bonne nuit !