Synology Création d'un script pour automatiser USBCopy

Fonzie73

Nouveau membre
29 Août 2024
22
2
8
Bonjour à tous
J'utilise USBCopy pour faire une sauvegarde sur un disque externe
J'ai créé plusieurs taches, tout fonctionne
Je voulais créer un script afin de lancer ces taches les unes à la suite des autres
Comme mon niveau en script est nul, j'ai demandé à Gemini :)
Voila ce qu'il m'a proposé:
#!/bin/bash

# --- CONFIGURATION ---
# Entrez ici les noms exacts de vos tâches USB Copy, dans l'ordre d'exécution
TACHES=("Sauve Domotique" "Sauve Photos" "Sauve Dropbox" "Sauve Mag" "Sauve Box" "Sauve MagPerso")
# ---------------------

for TACHE in "${TACHES[@]}"; do
echo "--------------------------------------------------"
echo "Lancement de la tâche USB Copy : $TACHE"
echo "--------------------------------------------------"

# Commande API pour lancer la tâche
/usr/syno/bin/synowebapi --exec api=SYNO.USBCopy.Task method=start version=1 task_name="$TACHE"

# Pause de 10 secondes pour laisser le processus démarrer
sleep 10

# Boucle de vérification du statut
while true; do
# On récupère le statut de la tâche via l'API
STATUT=$(/usr/syno/bin/synowebapi --exec api=SYNO.USBCopy.Task method=get version=1 task_name="$TACHE" 2>/dev/null)

# Si le statut contient "status=0" (ou "idle"), c'est que la tâche ne tourne plus
# Si elle tourne, l'API renvoie généralement un statut de progression (ex: "copying" ou un code de statut)
if echo "$STATUT" | grep -q '"status":0'; then
echo "La tâche $TACHE est terminée avec succès (ou est au repos)."
break
elif echo "$STATUT" | grep -q '"status":1'; then
# "status":1 correspond généralement à "en cours" (copying / indexing)
echo "Statut : Copie en cours pour $TACHE... (vérification dans 20s)"
sleep 20
else
# Sécurité si le format de réponse change : on attend un peu
sleep 20
fi
done
done



echo "=================================================="
echo "Toutes les tâches de sauvegarde sont terminées !"
echo "=================================================="
exit 0

j'ai créé le script avec l'éditeur de fichier Synology sinon j'ai des erreurs avec les caractères invisibles \r\n
Je lance le script en tant que root
Mais rien ne se passe. Je ne reçois même pas le mail avec les erreurs comme si la tache était bloquée
Si vous avez des idées... Merci
script.png