Problème d’exécution d'un crontab
Bonjour à vous,
Je poste en désespoir de cause :(.
Après avoir épluché le web, je ne trouve aucune solution à mon problème que voici.
J'ai créé un script qui me ramène à l'aide de Rsync les données d'un serveur distant.
Lors de l'exécution en ligne de commande pas de problème tous fonctionne à merveille.
En revanche lorsque je l'ajoute dans mon fichier /etc/crontab il ne fonctionne pas.
Voici les points qui peuvent vous aider à m'aider
La ligne présente dans le crontab est la suivante
Code:
25 10 * * * root /home/script/script_save
Ce script à les droits d'exécution
Lorsque je regarde dans le syslog j'ai cette ligne présente
Code:
Nov 4 10:25:01 serveur /USR/SBIN/CRON[7928]: (root) CMD (/home/script/script_save)
Enfin si je regarde dans mon fichier log d'exécution de mon script je vois bien que celui-ci à démarré mais ne se termine pas et ne s'exécute pas
Code:
[04/nov./2014:10:25:01] Backup started
Enfin pour finir voici mon script de sauvegarde
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| # /bin/sh
log="/var/log/sauvegarde_client.log"
login="root"
host="xxx.xxx.xxx.xxx"
src="/home"
dest="/home/sauvegarde_client"
statut="completed successfully"
ANNEE="`date +[%Y]`"
MOIS="`date +[%m]`"
DATE="`date +[%Y-%m-%d]`"
cmddate="`date +[%d/%b/%Y:%H:%M:%S]`"
echo "$cmddate Backup started" > $log
# Création du dossier ANNEE
if [ -d "$dest/old_data/$ANNEE" ]
then
echo "Le repertoire existe deja !";
else
mkdir $dest/old_data/$ANNEE;
fi
# Création du dossier MOIS
if [ -d "$dest/old_data/$ANNEE/$MOIS" ]
then
echo "Le repertoire existe deja !";
else
mkdir $dest/old_data/$ANNEE/$MOIS;
fi
# Création du dossier jour
if [ -d "$dest/old_data/$ANNEE/$MOIS/$DATE" ]
then
echo "Le repertoire existe deja !";
else
mkdir $dest/old_data/$ANNEE/$MOIS/$DATE;
fi
tab=(
"archives/"
"prive/"
"public/"
)
fin=${#tab[*]}
fin=$(( $fin - 1 ))
for i in `seq 0 $fin`;
do
cmddate="`date +[%d/%b/%Y:%H:%M:%S]`"
echo -n $cmddate ${tab[$i]} >> $log
rsync -v --update -r -e ssh --delete --backup --backup-dir=$dest/old_data/$ANNEE/$MOIS/$DATE/${tab[$i]} $login@$host:$src/${tab[$i]} $dest/${tab[$i]}
retour=$?
if [[ $retour == 0 ]]
then
echo "Completed successfully" >> $log
else
echo "ERROR" >> $log
statut="ERROR"
fi
done
cmddate="`date +[%d/%b/%Y:%H:%M:%S]`"
echo "$cmddate Backup termine $statut" >> $log |
Merci d'avance pour votre aide