Bonsoir,
J'espère que cette section sera la plus appropriée pour mon message
Je cherche à lancer un script (en ZSH) toutes les 30 minutes.
J'essaye tant bien que mal de faire fonctionner une tâche crontab toutes les 2 minutes pour vérifier que tout se passe bien :
Mais, même si la tâche se lance, elle n'aboutit pas correctement :
j'ai une erreur "Code Exit inconnu 127 = Arrêt immédiat du script."
Or ce script se lance parfaitement depuis une invite shell avec la commande :
Même chose avec
J'ai même essayé la tâche crontab dans le
Le script en question :
Quelqu'un pourrait-il me dire ce qui ne va pas ?
Merci d'avance
J'espère que cette section sera la plus appropriée pour mon message
Je cherche à lancer un script (en ZSH) toutes les 30 minutes.
J'essaye tant bien que mal de faire fonctionner une tâche crontab toutes les 2 minutes pour vérifier que tout se passe bien :
*/2 * * * * /bin/zsh -c "/Users/milesteg/Gitea/Git-et-Powershell_Win10/Scripts\ macOS/rclone-cours-collegue.sh" > ~/crontab.log
Mais, même si la tâche se lance, elle n'aboutit pas correctement :
j'ai une erreur "Code Exit inconnu 127 = Arrêt immédiat du script."
Or ce script se lance parfaitement depuis une invite shell avec la commande :
/bin/zsh -c "/Users/milesteg/Gitea/Git-et-Powershell_Win10/Scripts\ macOS/rclone-cours-collegue.sh" > ~/crontab.log
Même chose avec
"/Users/milesteg/Gitea/Git-et-Powershell_Win10/Scripts\ macOS/rclone-cours-collegue.sh"
J'ai même essayé la tâche crontab dans le
/bin/zsh -c
mais même chose, ça génère l'erreur Le script en question :
Bash:
#!/bin/zsh
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Script pour faire une synchronisation descendante des cours d'XXXXXX ║
# ║ depuis Google-Drive avec la commande rclone ║
# ╚══════════════════════════════════════════════════════════════════════════╝
# On va supposer que la commande rclone est installée.
# Si ce n'est pas le cas, il faudra l'installer manuellement
# Avec par exemple : brew install rclone
declare -a folders_to_sync_ARRAY=("Folder1" "Folder2" "1 Folder" "TFolder" "TFolderd" "Folder_v3" "TSFolder")
rclone_log_file="rclone_cours_XXXXX-$(date +%Y-%m-%d--%Hh%Mm%Ss).log"
rclone_exit_code_check() {
# List of exit codes
# 0 - success
# 1 - Syntax or usage error
# 2 - Error not otherwise categorised
# 3 - Directory not found
# 4 - File not found
# 5 - Temporary error (one that more retries might fix) (Retry errors)
# 6 - Less serious errors (like 461 errors from dropbox) (NoRetry errors)
# 7 - Fatal error (one that more retries won't fix, like account suspended) (Fatal errors)
# 8 - Transfer exceeded - limit set by --max-transfer reached
# 9 - Operation successful, but no files transferred
exit_code="$1"
case $exit_code in
"0")
printf "\n\tExit code = 0 - success\n"
erreur_rclone="0"
;;
"1")
printf "\n\tExit code = 1 - Syntax or usage error.\n"
erreur_rclone="erreur"
;;
"2")
printf "\n\tExit code = 2 - Error not otherwise categorised\n"
erreur_rclone="erreur"
;;
"3")
printf "\n\tExit code = 3 - Directory not found\n"
erreur_rclone="erreur"
;;
"4")
printf "\n\tExit code = 4 - File not found\n"
erreur_rclone="erreur"
;;
"5")
printf "\n\tExit code = 5 - Temporary error (one that more retries might fix) (Retry errors)\n"
erreur_rclone="erreur"
;;
"6")
printf "\n\tExit code = 6 - Less serious errors (like 461 errors from dropbox) (NoRetry errors)\n"
erreur_rclone="erreur"
;;
"7")
printf "\n\tExit code = 7 - Fatal error (one that more retries won't fix, like account suspended) (Fatal errors)\n"
erreur_rclone="erreur"
;;
"8")
printf "\n\tExit code = 8 - Transfer exceeded - limit set by --max-transfer reached\n"
erreur_rclone="erreur"
;;
"9")
printf "\n\tExit code = 9 - Operation successful, but no files transferred\n"
erreur_rclone=$erreur_rclone+0
;;
*)
printf "\n\tCode Exit inconnu %d = Arrêt immédiat du script.\n" $exit_code
exit 1
;;
esac
}
# rclone_log_file="blabla.log"
printf "\n---- Début des commandes rclone du jour ----\n" >>~/$rclone_log_file
erreur_rclone="0"
for i in "${folders_to_sync_ARRAY[@]}"; do
echo "Dossier qui va être synchronisé : $i"
SOURCE=Google-Drive-Pro:/"$i"
DESTINATION=~/"Nextcloud/ZZZZZZZZ/XXXXXX/$i"
printf "\t--> rclone du dossier %s\n" $SOURCE >>~/$rclone_log_file
rclone sync --delete-excluded --log-file ~/$rclone_log_file --exclude '{~*,.DS_Store}' --progress -v $SOURCE $DESTINATION
rclone_exit_code_check $?
printf "\n\n"
done
printf "\n---- Fin des commandes rclone du jour ----\n" >>~/$rclone_log_file
if (( $erreur_rclone != 0 )); then
printf "\nIl y a eu au moins un code d'erreur pendant les commandes rclone. La sauvegarde CCC ne se fera pas. Vérifier via les logs ci-dessus.\n"
exit 1
else
exit 0
fi
exit 0
Quelqu'un pourrait-il me dire ce qui ne va pas ?
Merci d'avance