Aller au contenu

Sujets conseillés

Posté

Bonjour,

j'execute un petit script tous les jours a 1h du matin pour faire les sauvegardes de mon serveur.

etant donné que je voulais sauvegarder les fichiers de log apache, j'ai mis ca dans le script :

mv /var/log/apache/acces-site_1.log.1 /home/log/site_1/acces-site_1-`date +%d-%m-%Y`.log

vu que la rotation des logs se fait a 00h00, j'avais un fichier .log.1 qui etait le fichier log de la veille que je copiais dans le repetroire du site web.

Mais je viens de me rendre compte que cela a fonctionné le premier jour et que depuis, mes fichier de log font 0 octets :(

je recois egalement ce mail a 00h00 mais je vous avou que je ne comprend pas grand chose :

/tmp/logrotate.XHHdsa: line 6: invoke-rc.d: command not found

error: error running shared postrotate script for /var/log/apache/*.log

Posté

Le fait de faire un mv sur le fichier log apache ne dis pas à Apache d'utiliser un nouveau fichier.

En fait il continue à écrire dans le fichier renommé, ou du moins tente de le faire.

Il faut utiliser logrotate pour forcer la rotation des logs. Rien ne t'empêche d'utiliser cette ligne de code dans la partie "postrotate".

En tout cas, après ce mv il faut au minimum redémarrer apache si tu n'utilises pas logrotate. ;)

Posté

est ce qu'un petit apachectl graceful apres le deplacement des fichiers suffirait

en tout cas, le temps de trouver LA bonne technique

parceque je voudrais sauvegarder un fichier de log par site tous les jours et pouvoir mettre en place des stats awstas

mais avec logrotate par exemple, il cree des .1.tar.gz etc c pas tres tres pratique

Posté

Un "apachectl graceful" suffit...

Rien ne t'empeche de déplacer et renommer les fichiers logs après le logrotate.

Une fois que celui-ci c'est exécuté, le fichier généré s'appelera toujours *.1.tar.gz (ou *.1.tgz), il est donc facile d'en faire une copie.

Dan

Posté

ouais, mais le jour d'apres, il devient 2.tgz non ?

et comme c un nouveau fichier, mon rsync le renvera a chaque fois

donc pour un mois, il m'en renverra 30 le dernier jour

Posté

Il est inutile de garder 30 jours de logs dans ton cas, vu que tu en as une copie datée.

Lorsque tu copies le fichier, il te suffit d'en copier un seul, non ? Pas l'intégralité du répertoire.

Inutile d'utiliser rsync, un simple cp d'un seul fichier suffit.

Dan

Posté

je pensais qu'il faisait un roulement, que le fichier log.1.tgz devenait log.2.tgz ainsi de suite.

ou alors, je le laisse faire le log rotate toutes les nuit a 00h00 et je fait une copie de log.1.tgz dans le repertoire du site et a la fin du mois, je supprime tous les logs apache dans /var/log/apache

Comment font les administrateurs normalement ?

Posté

Effectivement, le log.1.tgz devient log.2.tgz mais tu t'en fiches vu que tu n'auras jamais que le log.1.tgz a copier (le dernier log après exécution de logrotate).

Je te sugère de garder un nombre assez bas de logs, comme ca il est inutile de les supprimer mensuellement, logrotate virant les plus anciens.

Dan

  • 2 semaines plus tard...
Posté

perso j'ai utilisé apt-get pour installer logrotate et puis, g installé le module webmin

mais je n'utilise pas logrotate j'ai fait un crontab qui deplace les fichiers a 00h et relance apache sans que les visiteurs ne s'en rendent compte.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...