Comment effacer les journaux linux?

Le disque est presque plein, comment enquêter sur les files qui occupent le plus d'espace?

MODIFIER

J'ai trouvé que la plupart des espaces étaient pris par mysql bin log:

/var/lib/mysql/jiaoyou-slow.log: 53M /var/lib/mysql/mysql-bin.000005: 68M /var/lib/mysql/mysql-bin.000003: 1.1G /var/lib/mysql/mysql-bin.000007: 34M /var/lib/mysql/mysql-bin.000004: 225M 

Ces files sont-ils sûrs à supprimer?

Quelque chose comme ça devrait faire l'affaire pour vous:

 find / -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' 

Cela search un file sous / (racine) qui dépasse environ 20 millions de pixels. Vous devrez peut-être ajuster les variables de 9 $ / 5 $, mais dans la plupart des cas, vous ne devrez pas. Je recommand également de modifier / /var/log/ si vous voulez simplement regarder sous votre dossier de journal par défaut.

Si vous utilisez un environnement graphique, vous pouvez utiliser quelque chose comme Disk Usage Analyzer (aka Baobab) qui peut produire une belle sonnerie comme illustré ci-dessous:

alt text http://www.marzocca.net/linux/baobab/figures/baobab_fullscan.png

La command line est toujours votre meilleure arme, mais je l'ai très utile. Il y a des alternatives ici .

C'est une bonne idée d'utiliser logrotate (8) pour compresser et supprimer d'anciens files journaux, de sorte que certains daemon bavard ne remplissent pas le disque entier.

EDIT: De plus, la plupart des journaux seront situés dans / var / log. Un simple ls -lh répertorie ceux qui deviennent trop gros.

La command du , à la command line, vous indiquera quels directorys / dossiers occupent le plus d'espace. Vous pouvez en déduire ici où sont les files les plus importants.

 $ du -h / 

Le -h dit à du pour énumérer les tailles dans les termes lisibles par l'homme: kb, Mb, Gb, etc.

Si vous essayez ceci en tant qu'user ordinaire, vous verrez des messages d'erreur sur les directorys auxquels vous n'avez pas l'autorisation d'examiner.

Si vous le faites en tant que root, il ne devrait pas y avoir de message d'erreur.

 # du -h / 

tuyez la sortie via sort -n sorte que les dernières lignes montrent les plus grands directorys (ou sortingent et utilisent la tête).

 # du -h | sort -n 

Une autre approche serait d'utiliser la find avec des options qui spécifient «find des files de plus grande taille qu'une certaine taille», mais cette méthode nécessite une certaine pratique pour le faire correctement.

 # find / -size +10M 

affichera des files de plus de 10 Mo

Si vous avez des partitions de taille raisonnable, vous devriez searchr de gros files en dehors du directory de journal. Il est peu probable que les journaux soient votre problème, ils atteignent rarement plus de 200 MiB sur le système moyen.

Vous devez éviter de supprimer les journaux tant que vous ne savez pas ce que vous faites réellement. De nombreux démons réagissent assez erratiques si leurs files journaux sont partis soudainement – les résultats peuvent être des services qui ne fonctionnent plus, jusqu'à ce qu'ils ne puissent redémarrer ce service particulier.

Vous devez save si vous supprimez les files sous / var / log / * qui sont archivés (p. Ex. Ont la fin .gz). Encore une fois, je doute que réellement résout votre problème principal (par exemple disque dur trop plein)

Top 25 des directorys et / ou des files:

 du -m / | sort -rn | head -25 

D'accord, alors j'ai sortingché et regardé DBA …. 🙂

https://dba.stackexchange.com/questions/41050/is-it-safe-to-delete-mysqlbin-files

(Les deux premières réponses de 'RolandoMySQLDBA' et 'Derek Downey' sont pertinentes et perspicaces.)

Il y a deux types de files journaux ici, malheureusement. L'un est le journal des transactions appliquées à vos bases de données MySQL. Ces files peuvent être utilisés pour synchroniser un esclave MySQL avec un maître MySQL ou restaurer une database. Comme le montre la meilleure réponse dans la page ci-dessus, vous devez utiliser uniquement les commands MySQL (ou méta-outils, telles que Percona Toolkit) pour "purger" ces journaux.

L'autre file, 'jaioyou-slow.log', est probablement juste un Journal de requête lente, des requêtes de journalisation qui prennent plus d'un time défini pour être complété. Il s'agit d'un file journal le plus similaire à un file journal * NIX typique et, par conséquent, peut être tronqué si nécessaire (bien que vous perdez les statistics de performance disponibles dans ce file, évidemment).

Vous pouvez utiliser un outil utile comme 'logrotate' pour gérer ce file (et seulement ce), ou, en cas d'urgence, faites simplement:

 $ echo "" > /var/log/jaioyou-slow.log 

Quelques observations:

  • Votre configuration mysql devrait placer MySQL Slow Query Log dans un location de journal * NIX plus approprié, comme / var / log / mysql /, plutôt que l'arborescence / var / lib, pour éviter toute confusion et, peut-être, augmenter les performances si celles-ci les directorys sont sur des disques séparés.
  • Vous devrez avoir une sorte d'automation pour purger les journaux binarys à partir de MySQL (ou des outils tiers). Je ne recommand pas de les supprimer avec les commands du operating system.

Les references: