2017-08-16 3 views
0

folks!script shell pour rogner les fichiers error_log dans tous les comptes du serveur

Voici mon problème: J'ai un serveur dédié utilisant cPanel avec plusieurs comptes hébergés. Environ 20 de ces comptes génèrent de gros fichiers error_log tous les jours, parfois plus de 7 Go, ce qui utilise tout l'espace disque du compte, sans parler de l'encombrement du serveur! Je n'ai pas le temps ou la connaissance en ce moment pour trouver et corriger ce qui cause le problème dans chacun de ces comptes. Je voudrais donc un script shell qui trimmerait/tracera ces fichiers error_log dans tous les comptes à une taille maximale de 500 Ko, de sorte qu'ils ne deviendront pas si gros. Et le cronjob pour le faire fonctionner tous les jours.

Quelqu'un peut-il m'aider?

TIA! :)

Répondre

0

Utilisez la commande de troncature pour rétrécir ou élargir la taille de chaque fichier à la taille spécifiée:

truncate -s 0 {filename.txt} 
ls -lh filename.txt 
truncate -s 0 filename.txt 
ls -lh filename.txt 

L'option -s est utilisée pour définir la taille à zéro. Voir la page man de la commande truncate pour plus de détails

man truncate 
+0

Tks pour votre réponse. Cela signifie que je remplace le fichier filename.txt par error_log et l'enregistre dans un fichier appelé par cronjob? Cela affectera-t-il tous les journaux d'erreurs du serveur? Pardonnez mon ignorance, je ne suis pas programmeur. :( – Patty

+0

Vous pouvez avoir un cron qui s'exécute régulièrement à des intervalles fixes et exécute une commande truncate sur les noms de fichiers par lesquels vos journaux sont sauvegardés Cela tronquerait le fichier journal. – raizsh