Effacer les grands journaux de domaine Apache

J’ai un problème où les journaux Apache sont de plus en plus disproportionnés sur plusieurs serveurs (Linux CentOS 5).

J’ai essayé d’utiliser le echo " " > /path/to/log.log ou le * > /path/to/log.log mais ils prennent trop de temps et font presque planter le serveur car les journaux atteignent 100 Go.

La suppression des fichiers fonctionne rapidement, mais ma question est la suivante: cela causera-t-il un problème lorsque je redémarrer apache. Mes serveurs sont en direct et pleins d’utilisateurs, donc je ne peux pas les planter.

Votre aide est appréciée.

Utilisez la commande truncate

 truncate -s 0 /path/to/log.log 

À plus long terme, vous devez utiliser logrotate pour éviter que les journaux ne deviennent incontrôlables .

Essaye ça:

 cat /dev/null > /path/to/log.log 
  mv /path/to/log.log /path/to/log.log.1 

Faites-le pour votre access, erreur et si vous le faites vraiment sur prod, vous réécrivez les journaux. Cela n’affecte pas Apache sur * nix, puisque le fichier est ouvert. Puis redémarrez Apache. Oui, je sais que j’ai dit redémarrer, mais cela prend généralement environ une seconde, alors je doute que quelqu’un le remarque ou le blâme sur le réseau. Apache redémarré sera exécuté avec un nouvel ensemble de fichiers journaux.

Pour ce qui est de vos journaux actuels, IMO doit conserver au moins les trois derniers mois des journaux d’erreur et un mois d’access, mais examinez vos données volumésortingques pour déterminer vos volumes hebdomadaires approximatifs pour les journaux d’erreur et d’access. Ne pas tronquer les anciens fichiers. Si nécessaire, faites une belle queue vers gzip -c de ceux-ci vers les archives. Si vous voulez diviser, utilisez une boucle faisant un tail | head | gzip en utilisant l’option --bytes=nnG . OK, vous allez diviser sur la ligne impaire mais c’est mieux que de supprimer le lot comme vous le suggérez.

Bien sûr, vous pouvez simplement supprimer le lot que vous et d’autres proposez, mais que ferez-vous si vous réalisez que le site a été piraté récemment? “Désolé: trop tard; j’ai supprimé les preuves!”

Puis, pour l’amour de Dieu, mettre en place un régime de logrotate.