Hello les linuxiens,
J’ai un petit souci que j’essai de résoudre mais je ne vois absolument pas d’ou ça vient.
J’ai un JOB cron
00 7 * * */2 /home/moi/scripts/sitesave.sh
sitesave.sh est un script qui lance des sauvegardes des mes sites distants
Si je lance ce script a la mano, aucun problème.
Il me log correctement mes sauvegardes
Je vous met le code afin de mieux comprendre
function rsync_site(){
clear
echo "Sauvegarde de $3 demarrer NE RIEN TOUCHER"
sleep 2
rsync -aP --exclude-from='exclude_files.txt' --delete-before -e "ssh -p $4" "$1" "$2"
}
function rsync_restore(){
clear
echo "Restauration de $3 va demarrer NE RIEN TOUCHER"
rsync -aP --dry-run --exclude-from='exclude_files.txt' --delete-before -e "ssh -p $4" "$2" "$1"
}
function verif_log(){
if [ $1 = 0 ];then
echo -e "${gris}
-----------------------------------------------------------------
La sauvegarde de $2 à été effectué avec succés
Le $DATE
-----------------------------------------------------------------
" ${neutre}>>$LOGS
else
echo -e "${rougefonce}
----------------------------------------------------------------
Sauvegarde de $2 FAILED
Le $DATE
----------------------------------------------------------------${neutre}" >>$LOGS
exit 1
fi
}
for f in ${!ROOT_PATH[@]};do
rsync_site ${ROOT_PATH["$f"]} ${TARGET["$f"]} ${DOMAIN["$f"]} ${PORT["$f"]}
result=$?
verif_log $result ${DOMAIN["$f"]}
done
Seulement cron ne veut pas me lancé ce script automatiquement, je me retrouve avec une erreur comme quoi cela n’a pas été effectué dans mon fichier de LOG.
Je vois pourtant bien cron lancé le script, mais ca FAIL quand cron le lance et pas manuellement.
Avec le même USER bien évidement
syslog me retourne bien son éxécution
Aug 7 07:00:01 DebianDesktop CRON[82141]: (moi) CMD (/home/moi/scripts/sitesave.sh )
Aug 9 07:00:01 DebianDesktop CRON[89873]: (moi) CMD (/home/moi/scripts/sitesave.sh )
Aug 11 07:00:02 DebianDesktop CRON[95453]: (moi) CMD (/home/moi/scripts/sitesave.sh )
Aug 13 07:00:01 DebianDesktop CRON[99613]: (moi) CMD (/home/moi/scripts/sitesave.sh )
et les log pour voir que le script est bien executer qui montre bien que ca FAILED
----------------------------------------------------------------
Sauvegarde de *************** FAILED
Le 2022-08-14-07:00:01
----------------------------------------------------------------
----------------------------------------------------------------
Sauvegarde de ************ FAILED
Le 2022-08-16-07:00:01
----------------------------------------------------------------
----------------------------------------------------------------
Sauvegarde de ************** FAILED
Le 2022-08-18-07:00:01
----------------------------------------------------------------
-----------------------------------------------------------------
La sauvegarde de ************** à été effectué avec succés
Le 2022-08-19-21:06:02
-----------------------------------------------------------------
-----------------------------------------------------------------
La sauvegarde de ************* à été effectué avec succés
Le 2022-08-19-21:06:02
-----------------------------------------------------------------
-----------------------------------------------------------------
La sauvegarde de ********** à été effectué avec succés
Le 2022-08-19-21:06:02
-----------------------------------------------------------------
Voila j’avoue que je sèche un peu et que je ne capte pas trop pourquoi il échou avec CRON et pas si je le lance moi-même.
Merci