Faça o seguinte, primeiro veja quantos arquivos de logs tem no sistema:
$ ls /var/log | wc -l
52
Aqui deu 52 arquivos de logs.
Depois veja o tamanho (em -52 você pode colocar -10, -20, etc, depende de quantos arquivos você quer visualizar):
$ sudo du -sh /var/log/* | sort -hr | head -52
[sudo] senha para usuario:
309M /var/log/journal
17M /var/log/installer
644K /var/log/chrony
412K /var/log/apt
176K /var/log/wtmp
136K /var/log/dpkg.log.5.gz
120K /var/log/dpkg.log.1
108K /var/log/apache2
96K /var/log/dpkg.log.7.gz
88K /var/log/dpkg.log
80K /var/log/cups
44K /var/log/exim4
36K /var/log/lightdm
32K /var/log/Xorg.0.log.old
32K /var/log/Xorg.0.log
28K /var/log/Xorg.1.log
16K /var/log/dpkg.log.4.gz
12K /var/log/dpkg.log.3.gz
12K /var/log/dpkg.log.2.gz
12K /var/log/aptitude
8,0K /var/log/fontconfig.log
8,0K /var/log/dpkg.log.6.gz
8,0K /var/log/boot.log.7
8,0K /var/log/boot.log.6
8,0K /var/log/boot.log.5
8,0K /var/log/boot.log.4
8,0K /var/log/boot.log.3
8,0K /var/log/boot.log.2
8,0K /var/log/boot.log.1
8,0K /var/log/alternatives.log.7.gz
8,0K /var/log/alternatives.log.5.gz
4,0K /var/log/README
4,0K /var/log/lastlog
4,0K /var/log/aptitude.6.gz
4,0K /var/log/aptitude.5.gz
4,0K /var/log/aptitude.4.gz
4,0K /var/log/aptitude.3.gz
4,0K /var/log/aptitude.2.gz
4,0K /var/log/aptitude.1.gz
4,0K /var/log/alternatives.log.6.gz
4,0K /var/log/alternatives.log.4.gz
4,0K /var/log/alternatives.log.3.gz
4,0K /var/log/alternatives.log.2.gz
4,0K /var/log/alternatives.log.1
4,0K /var/log/alternatives.log
0 /var/log/speech-dispatcher
0 /var/log/runit
0 /var/log/private
0 /var/log/faillog
0 /var/log/btmp.1
0 /var/log/btmp
0 /var/log/boot.log
Repare que aqui, no Debian, essa instalação já tem mais de dois anos e nunca fiz controle nenhum dos logs.
O maior log, com 309M, é
/var/log/journal e não julgo ser exagerado.
Quer ver todos os logs, pelo menos os do sistema, execute:
$ cd /var/log
$ ls
alternatives.log aptitude.3.gz btmp.1 fontconfig.log
alternatives.log.1 aptitude.4.gz chrony installer
alternatives.log.2.gz aptitude.5.gz cups journal
alternatives.log.3.gz aptitude.6.gz dpkg.log lastlog
alternatives.log.4.gz boot.log dpkg.log.1 lightdm
alternatives.log.5.gz boot.log.1 dpkg.log.2.gz private
alternatives.log.6.gz boot.log.2 dpkg.log.3.gz README
alternatives.log.7.gz boot.log.3 dpkg.log.4.gz runit
apache2 boot.log.4 dpkg.log.5.gz speech-dispatcher
apt boot.log.5 dpkg.log.6.gz wtmp
aptitude boot.log.6 dpkg.log.7.gz Xorg.0.log
aptitude.1.gz boot.log.7 exim4 Xorg.0.log.old
aptitude.2.gz btmp faillog Xorg.1.log
Para ver quanto espaço em disco cada item dentro de /var/log está usando:
$ sudo du -sh /var/log/*
- sudo - executa como administrador (necessário porque alguns logs só o root pode ler)
- du (disk usage) → calcula o uso de disco
- -s (summary) - mostra apenas o total de cada item, sem detalhar subpastas
- -h (human-readable) - formata os tamanhos de forma legível (KB, MB, GB)
- /var/log/* - todos os arquivos e diretórios dentro de /var/log
Para ver os 10 maiores ordenando do maior para o menor:
$ sudo du -sh /var/log/* | sort -hr | head -n 10
309M /var/log/journal
17M /var/log/installer
644K /var/log/chrony
412K /var/log/apt
176K /var/log/wtmp
136K /var/log/dpkg.log.5.gz
120K /var/log/dpkg.log.1
108K /var/log/apache2
96K /var/log/dpkg.log.7.gz
88K /var/log/dpkg.log
Lembrando que algum ou outro programa pode instalar seu log em outro lugar que não
/var/log ou você mesmo durante a instalação manual pode ter colocado o arquivo de log em outro lugar.
A maioria das distribuições
Linux, não gera um número fixo de arquivos de log. Em vez disso, ele utiliza o diretório centralizado (
/var/log) onde o sistema operacional, o kernel e os aplicativos instalados criam seus arquivos e o próprio sistema gerencia isso.
Caso tenha um crescimento exagerado e por "crescimento exagerado" estou falando de coisa de GBs para cima, então é por que tem algum problema no sistema e você terá de identificar qual o problema de o sistema aumentar exageradamente os logs ou um log em específico.
Por exemplo, no meu caso o maior dos logs é
/var/log/journal.
Nesse caso posso editar o arquivo de configuração:
$ sudo vim /etc/systemd/journald.conf
Usei o
vim, use teu editor preferido.
Veja as opções abaixo, que nem estão configuradas, mas, por exemplo, em "SystemMaxUse=" posso definir o tamanho máximo total para os logs (500M para 500MB, 1G para 1GB, etc).
[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=0
#MaxFileSec=1month
#ForwardToSyslog=no
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#MaxLevelSocket=debug
#LineMax=48K
#ReadKMsg=yes
#Audit=yes
Depois de alterar o arquivos, salve e saia.
Reinicie o serviço:
$ sudo systemctl restart systemd-journald
Para ver quanto ele está usando:
$ journalctl --disk-usage
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal' can see all messages.
Pass -q to turn off this notice.
Archived and active journals take up 59.5M in the file system.
Diz que está usando 59.5M, porém, com o comando "du" mostra 309M.
É que o comando "journalctl --disk-usage" mostra apenas o espaço que o
journald considera válido e utilizável, enquanto que o comando "du" soma todo o espaço ocupado no disco pelo diretório incluindo arquivos .journal ativos, arquivos arquivados, arquivos já marcados como deletados mas ainda abertos pelo
systemd-journald e overhead do filesystem (blocos alocados), etc.
O
journalctl mostra o uso lógico, não o físico.
Reiniciando o
journald, os valores ficarão praticamente iguais:
$ sudo systemctl restart systemd-journald
$ sudo du -sh /var/log/journal
309M /var/log/journal
$ sudo journalctl --disk-usage
Archived and active journals take up 308.4M in the file system.
$ journalctl --disk-usage
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal' can see all messages.
Pass -q to turn off this notice.
Archived and active journals take up 59.5M in the file system.
Veja que, o comando
journalctl com sudo mostra um valor (308.4M) e sem sudo mostra 59.5M.
Na saída sem o sudo está a explicação dizendo que não estamos vendo as mensagens dos outro usuários e do sistema. Para ver todo o tamanho é só usar sudo.
Para reduzir o tamanho para 100M:
$ sudo journalctl --vacuum-size=100M
Ou só últimos 7 dias:
$ sudo journalctl --vacuum-time=7d
Para mais opções:
$ man journalctl