Logrotate

Fermé
rbarriere Messages postés 3 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 22 novembre 2003 - 21 nov. 2003 à 09:11
 rouby - 23 nov. 2003 à 14:26
Bonjour,

Je souhaite avoir des précisions sur l'utilisation de logrotate.

Mon problème est le suivant :
J'ai une configuration type seveur web d'installée sur une mandrake 7.2 qui utilise Apache, Php et Mysql. Je souhaite pouvoir faire une sauvegarde de la configuration de cette machine dans un fichier saveifth72.tar.gz. j'ai mis en place mon script avec cron, cela fonctionne.
Je souhaite maintenant allé un peu plus loin comme par exemple faire une sauvegarde de mon fichier saveifth72.tar.gz final en conservant les précédente version sur une période de 7 jours et en renomant le fichier avec la date par exemple.

J'ai mis en place le process suivant, mai je ne comprend pas exactement quand le lancement de la rotation se fait. En résultat, j'ai une copie de mon fichier saveifth72.tar.gz en saveifth72.tar.gz .1 et en saveifth72.tar-date.gz je voudrais obtenir un fichier saveifth72.tar-21novembre2003-.gz par exemple ou tout autre présentation de la date (20031121 ou 11212003) peu importe.

J'ai un premier cron qui lance la création de la sauvegarde et aboutit au fichier saveifth72.tar.gz.
Mon second cron lance /var/save/rotation une fois par jour .

Ma réflexion s'est dirigée vers l'utilisation de lograte, mais il existe peut être une autre méthode.

Merci de votre aide.


Contenu de /var/save/rotation

#!/bin/sh

/usr/sbin/logrotate /var/save/rotation.conf



contenu du /var/save/rotation.conf

# rotation des fichiers de sauvegarde

nocompress

/var/save/saveifth72.tar.gz {
rotate 7
daily
prerotate
cp /var/save/saveifth72.tar.gz /var/save/saveifth72.tar-'date'.gz
endscript

}


Merci de venir à mon secours

7 réponses

Bsr ,
si j'ai bien compris son but , le script est bon ormis la commande 'date'; il faut des anticotes(je ne sais pas si ça s'appele comme ça , mais s'écrit en tapant AltGr7)
cp /var/save/saveifth72.tar.gz /var/save/saveifth72-`date +%d%B%Y`.gz
Bon courage
0
rbarriere Messages postés 3 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 22 novembre 2003
22 nov. 2003 à 13:36
merci pour l'astuce des antiqotes.
Pourriez-vous me préciser l'utilisation de ces caractères spécifiques dans linux dans une utilisation générales ?

@+
Rémi
0
Dans les scipts, tu peux utiliser $(commande avec options)
La commande entre parentèses est lancée, et le résultat en placé en place du $(...)
Comme précisé par phil, le format de sortie normal de la date n'étant pas trés intéressant dans ton cas, tu peux demander ton propre format de sortie (cf man date).
0
Bsr,
les ` permettent de faire une substitution de commande et par exemple d'affecter une variable avec le resultat d'une commande :
tout=`ls -lR . `
la liste de tous les fichiers et répertoires( du répertoire courant) est stockée dans la variable tous
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
???
Quel shell utilises-tu?
Dans bash et sh, si tu fais "$ TOUT='ls -Alh' ",
la commande "$ echo $TOUT " renvoie " ls -Alh " et non la liste de tous les fichiers.
Il faut faire "$ echo $($TOUT) pour obtenir la liste des fichiers.
...
0
Bjr,
j'utilise bash; mais ton pb n'est pas là il me semble
TOUT='ls -Alh' -> la variable contient le chaine de caractères ls -Alh
TOUT=`ls -Alh` -> la variable contient le résultat de ls -Alh
ce que tu explixque , rejoint la rq de rouby
<<
Dans les scipts, tu peux utiliser $(commande avec options)
La commande entre parentèses est lancée, et le résultat en placé en place du $(...)
>>
A+
0
Je la connaissai pas celle-là, effectivement ça marche.
Je me coucherai moins bête ce soir ;-)
0