web-dev-qa-db-fra.com

Les fichiers journaux prennent trop d’espace et je ne peux pas les effacer \ clear

Après avoir utilisé Ubuntu pendant 2,5 mois, mon répertoire/var a atteint environ 7 Go ou RAM alors que mon répertoire / contient tout 50 Go ou RAM et le reste de l'espace est réservé à mon /home.

J'ai trouvé que les fichiers suivants prennent trop d'espace dans /var/log

-rw-r----- 1 syslog            adm   14G Feb  2 07:46 kern.log.1
-rw-r----- 1 syslog            adm   13G Feb  2 07:46 ufw.log.1
-rw-r----- 1 syslog            adm  5.9G Feb  2 07:46 syslog.1
-rw-r----- 1 syslog            adm  451M Feb  2 23:53 syslog
-rw-r----- 1 syslog            adm  451M Feb  2 23:53 kern.log
-rw-r----- 1 syslog            adm  441M Feb  2 23:51 ufw.log

Question secondaire, qu'est-ce que syslog et adm?!

En voyant ufw là-bas, j'ai vérifié sa configuration

$ Sudo ufw status verbose
Status: active
Logging: on (full) <<<<<

Donc, je fixe l'enregistrement à faible

$Sudo ufw logging low

J'ai lu que logrotate devrait gérer le roulement du journal, mais sa configuration ne semble pas gérer le répertoire /var/log par défaut.

Ceci est mon contenu de fichier /etc/logrotate.conf

$ cat /etc/logrotate.conf 
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here

J'ai essayé de supprimer le log-file-name.log.digit (c'est-à-dire kernel.log.1, ufw.log.1, whatever.log.0) mais je n'ai pas pu. J'ai essayé Sudo echo '' > kernel.log.1 mais j'ai échoué aussi. Il dit toujours

$ Sudo echo '' > kern.log.1 
bash: kern.log.1: Permission denied

Redémarrer n'a pas aidé non plus. Le répertoire des journaux n'était pas effacé (je pensais que Linux supprimait tous les journaux lorsqu'il redémarrait, de toute évidence je me trompe), et je ne pouvais toujours pas effacer\supprimer les journaux des mentions.

Comment puis-je effacer ces journaux et m'assurer de ne plus jamais faire face à cette situation?

Utiliser Ubuntu 13.10

réponse

Sudo rm /var/log/*.1

Mais je suspect que ma commande a échoué parce que j’ai essayé de faire la même chose alors que je me trouvais dans le répertoire /var/log (c’est-à-dire pwd = /var/log, puis j’ai exécuté Sudo rm kernel.1.log). Si quelqu'un se trouve dans la même situation, essayez de supprimer les fichiers * .1 tout en étant dans le répertoire /var/log (c'est-à-dire cd /var/log;Sudo rm*.1) et rapportez les résultats. Je vous remercie.

4
Muhammad Gelbana

Vos journaux actuels sont corrects, encore, ceux sans .1. C'est bien, et vous pouvez l'enlever avec:

Sudo rm /var/log/*.1

Maintenant, votre commande ne fonctionne pas pour cette raison:

Sudo 'Everything here runs as root' > Everything here run as user

Donc, si vous vouliez faire ce que vous avez essayé, le correct serait:

Sudo sh -c "echo '' > kern.log.1"

En effet, le canal ouvre un shell avec l'utilisateur actuel.

7
Braiam