web-dev-qa-db-fra.com

Fichier journal consommant tout l'espace dans Ubuntu 16.04 LTS. Réparer?

Je suis récemment entré dans Linux et il a démarré en double dans mon ordinateur avec Windows 10. J'ai installé quelques fichiers dans Ubuntu 16.04 et un espace de 41 Go est attribué à Ubuntu dans mon ordinateur. Mais tout à coup, un message m'invite à dire qu'il ne me reste plus beaucoup d'espace. Après quelques recherches, j'ai trouvé qu'il était principalement consommé par les fichiers journaux, plus précisément le fichier "syslog.1". Je suis à peu près sûr que mes applications sont en désordre et que ces problèmes sont consignés à plusieurs reprises. Je vais supprimer la plupart des applications et recommencer.

Mais pour l’instant, comment puis-je nettoyer ce fichier et libérer les 37 Go d’espace qu’il a occupés? Cela aidera-t-il? J'ai trouvé cela sur un forum.

Sudo gzip syslog.1

Mise à jour:

Le code ci-dessus a fonctionné en compressant le fichier journal de 37 Go à environ 800 Mo. Cependant, je recherche une solution permanente pour rechercher les erreurs qui ont provoqué l’agrandissement du fichier journal. J'ai également installé beaucoup de fichiers .deb. Et ils ont beaucoup de dépendances non résolues qui doivent être téléchargées. Comment annuler cette action et supprimer les fichiers contenant des dépendances non satisfaites?

J'ai aussi essayé:

Sudo apt-get autoremove
Sudo apt-get clean

Ceux-ci ne semblent pas fonctionner.

3
2dsharp

Un fichier journal de 37 Go est un problème en soi, surtout si le système n’a que quelques jours. Vous devez surveiller le fichier journal pour voir ce qui se passe. Le mieux est de supprimer l'ancien fichier, car il est trop gros pour être traité. Ensuite, vous pouvez installer logrotate . Avec cela, vous pouvez nettoyer les fichiers journaux. Il peut "faire pivoter" les fichiers journaux quotidiennement, hebdomadairement ou à votre guise. Dans votre cas, cela devrait être quotidien. Ensuite, vous spécifiez le nombre de fichiers journaux que vous souhaitez conserver, plus vous devez compresser les anciens.

Ce fichier de 37 Go est compressé à seulement 4 Go, ce qui ne posera aucun problème même si vous devez en conserver cinq. Ce serait quand même extrême, mais ceci est juste pour vous donner une idée de ce que la logrotation peut faire.

Ci-dessous, vous pouvez voir ma configuration logrotate pour Apache, avec compression et compression différée. Il conserve les journaux pendant 14 jours. Pour votre journal, vous devriez google quelle bonne configuration est.

/var/log/Apache2/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if /etc/init.d/Apache2 status > /dev/null ; then \
                    /etc/init.d/Apache2 reload > /dev/null; \
                fi;
        endscript
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
}

Lorsque tout fonctionne bien, vous pouvez régler la journalisation sur 30 jours ou quelque chose du genre.

Oh, et si ce n’est pas le système que vous utilisez quotidiennement, exécutez le travail logrotate manuellement. Si le travail cron est configuré pour s'exécuter à 3 heures du matin, il ne fonctionnera probablement pas et votre problème continuera d'exister.

Mettre à jour

Vous devez ajouter compress à votre configuration logrotate. Vous pouvez l'ajouter à toutes les configurations dans /etc/logrotate.d. Pour les journaux trop volumineux, supprimez-les ou compressez-les comme vous l'avez fait. 800 Mo est encore trop, étant donné que vous ne ferez jamais rien avec elle, alors supprimez-le: Sudo rm syslog.1.gz, et supprimez tout ce qui est trop gros.

2
SPRBRN

Vous pouvez simplement le gérer en utilisant logrotate avec le code suivant dans vi etc/logrotate.conf:

/var/log/syslog1
{
     daily

     size 100 M(/* It can be k ,M ,G etc*/)

     compress

     postrotate
         cat /dev/null >/var/log/syslog1 (/* It will make log file null*/)
     endscript

     mail [email protected]
     rotate 4         
}

Vous pouvez également trouver votre plus gros fichier en taille par:

du -a /var | sort -n -r | head -n 10
0
Avani badheka