Donc j’ai lancé le script hier via crontab.
Même erreurs :
Rapport d’erreurs
jeudi 10 septembre 2009, 23:59:01 (UTC+0200)
Disque present - jeudi-23:59:01
/root/save.sh: line 6: xm: command not found
Probleme Zeus
mount: /dev/mapper/vdisk-zeus–disk already mounted or /root/chroot busy
mount: according to mtab, /dev/mapper/vdisk-zeus–disk is already mounted on /root/chroot
Probleme Montage disque Zeus - jeudi-23:59:01
/root/save.sh: line 38: xm: command not found
Probleme Zeus
Voici le script pour voir si j’ai fait des éventuelles erreurs ( je ne suis pas très calé en bash )
#!/bin/sh
PATH=$PATH:/usr/sbin/xm
date > save_`date +%j-%Y`.log
if [ -e /dev/sdb1 ];
then echo "Disque present - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
if(xm shutdown zeus >> save_`date +%j-%Y`.log 2>&1 )
then echo "Zeus shutdown ok" >> save_`date +%j-%Y`.log;
else echo "Probleme Zeus" >> save_`date +%j-%Y`.log;
fi
if(mount /dev/vdisk/zeus-disk /root/chroot >> save_`date +%j-%Y`.log 2>&1 )
then echo "Montage Disque Zeus ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
if( mount -t ntfs-3g -o force /dev/sdb1 /root/usb >> save_`date +%j-%Y`.log 2>&1 )
then echo "Montage disque ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
if( mkdir /root/usb/`date +%j-%y` >> save_`date +%j-%Y`.log 2>&1 )
then echo "Creation dossier ok - `date +%A-%H:%M:%S` " >> save_`date +%j-%Y`.log;
if( cp -r /root/chroot/srv/data /root/usb/`date +%j-%y`/ >> save_`date +%j-%Y`.log 2>&1 )
then echo "Copie Data ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
else echo "Probleme Data - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
if( cp -r /root/chroot/home /root/usb/`date +%j-%y`/ >> save_`date +%j-%Y`.log 2>&1 )
then echo "Copie Home ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
else echo "Probleme Home - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
if(umount /root/usb >> save_`date +%j-%Y`.log 2>&1)
then echo "Demontage disque usb ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
else echo "Probleme umount USB - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
if(umount /root/chroot >> save_`date +%j-%Y`.log 2>&1)
then echo "Demontage disque Zeus ok - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
else echo "Probleme umount Zeus - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
else echo "Probleme creation dossier - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
else echo "Probleme Mount USB-Disk- `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
else echo "Probleme Montage disque Zeus - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
if(xm create /etc/xen/zeus.cfg >> save_`date +%j-%Y`.log 2>&1 )
then echo "Zeus start! ok" >> save_`date +%j-%Y`.log;
else echo "Probleme Zeus" >> save_`date +%j-%Y`.log;
fi
mail -s "Resume sauvegarde de `date`" xxxx@gmail.com < save_`date +%j-%Y`.log
mail -s "Resume sauvegarde de `date`" xxxx@medimex.fr < save_`date +%j-%Y`.log
mail -s "Resume sauvegarde de `date`" xxxx@medimex.fr < save_`date +%j-%Y`.log
else echo "Probleme Disque Non present - `date +%A-%H:%M:%S`" >> save_`date +%j-%Y`.log;
fi
Merci encore de votre aide : )
Cela changerait quelque chose si je mettais le path dans crontab directement ?
Au cas ou voici ma crontab:
###################
Save Daily Zeus
###################
MAILTO=root
SHELL=/bin/bash
59 23 * * * /root/save.sh <---- Voici le script qui effectue la sauvegarde, lancé automatiquement tous les soirs a 23h59 et qui s’éffectue entièrement que si un disque dur est branché.
00 14 * * 4 /root/mail.sh <---- script envoyant un message rappellant qu’une sauvegarde est programmée.