Bonjour,
J’ai créé un script de sauvegarde d’un serveur debian que j’administre à distance.
Le script écrit les données dans le fichier sauv.log.
Mon script est :
#!/bin/bash
mv /media/sauvegarde/archives/j-9/* /media/sauvegarde/archives/archives/
rmdir /media/sauvegarde/archives/j-9
mv /media/sauvegarde/archives/j-8/ /media/sauvegarde/archives/j-9/
mv /media/sauvegarde/archives/j-7/ /media/sauvegarde/archives/j-8/
mv /media/sauvegarde/archives/j-6/ /media/sauvegarde/archives/j-7/
mv /media/sauvegarde/archives/j-5/ /media/sauvegarde/archives/j-6/
mv /media/sauvegarde/archives/j-4/ /media/sauvegarde/archives/j-5/
mv /media/sauvegarde/archives/j-3/ /media/sauvegarde/archives/j-4/
mv /media/sauvegarde/archives/j-2/ /media/sauvegarde/archives/j-3/
mv /media/sauvegarde/archives/j-1/ /media/sauvegarde/archives/j-2/
mv /media/sauvegarde/deleted/ /media/sauvegarde/archives/j-1/
echo >> /home/phr/script/sauv.log
echo >> /home/phr/script/sauv.log
echo >> /home/phr/script/sauv.log
echo "****************************************************************" >> /home/phr/script/sauv.log
echo "resultat de sauvegarde automatisee rsync-Haurov du " >> /home/phr/script/sauv.log
date >> sauv.log
echo >> /home/phr/script/sauv.log
echo "***************************" >> /home/phr/script/sauv.log
echo "/etc/" >> /home/phr/script/sauv.log
echo "*****" >> /home/phr/script/sauv.log
rsync -Haurov --stats --delete --backup --backup-dir=/media/sauvegarde/deleted/ /etc/ /media/sauvegarde/etc/ >> sauv.log
echo >> /home/phr/script/sauv.log
echo "***************************" >> /home/phr/script/sauv.log
echo "/home/" >> /home/phr/script/sauv.log
echo "******" >> /home/phr/script/sauv.log
rsync -Haurov --stats --delete --backup --backup-dir=/media/sauvegarde/deleted/ /home/ /media/sauvegarde/home/ >> sauv.log
echo >> /home/phr/script/sauv.log
echo "***************************" >> /home/phr/script/sauv.log
echo "/usr/" >> /home/phr/script/sauv.log
echo "*****" >> /home/phr/script/sauv.log
rsync -Haurov --stats --delete --backup --backup-dir=/media/sauvegarde/deleted/ /usr/ /media/sauvegarde/usr/ >> sauv.log
echo >> /home/phr/script/sauv.log
echo "***************************" >> /home/phr/script/sauv.log
echo "/var/" >> /home/phr/script/sauv.log
echo "*****" >> /home/phr/script/sauv.log
rsync -Haurov --stats --delete --backup --backup-dir=/media/sauvegarde/deleted/ /var/ /media/sauvegarde/var/ >> sauv.log
Tout fonctionne bien quand je lance le script manuellement :
Les titres de sauvegarde echo et les fichiers déplacés sont bien listés dans sauv.log
Mais lorsque c’est le cron qui lance le script à 2h00 du mat, seules les titres echo sont enregistrées dans le log. J’ai vérifié manuellement que les fichiers sont bien sauvegardés, c’est OK.
Ma crontab est :
MAILTO=moi@mondomaine
# m h dom mon dow command
0 1 * * * sh /home/phr/script/sauv.sh
0 2 * * * apt-get update
Si c’est important, je précise que la distribution est 2.6.26-2-amd64 #1 SMP Thu Sep 16 15:56:38 UTC 2010 x86_64 GNU/Linux.
Merci si vous pouvez me renseigner car j’ai cherché dans plusieurs tutos et forums et … je n’arrive pas à expliquer pourquoi seule la moitié de mon log s’écrit :s