Probleme arret script
Probleme arret script
Bonjour,
Je me permets de vous demander conseil sur Domoticz.
J'ai installé celui ci sur un raspberry 4 il y a deja un bon bout de temps, avec diffférents scripts perso (time et device).
Sur cette machine, j'avais programmé un script (.sh, et hors domoticz) permettant de sauvegarder différents fichiers par rsync, et permettant de faire une image su systeme a cadence réguliere.
Bref, ce script marche tres bien sur mes autres machines (raspberry ou non), mais s'arrete avant la fin sur ce raspberry ....
En creusant un peu plus, je me suis rendu compte :
- que ce script s'arretait a la minute suivante (si je le lance a 14h05m25s, il se stoppera a 14h06m00s)
- que ce phénomene apparaissait quelque soit le script, quelque soit les commandes dans le scipt, et quelque soit le dossier où il est placé,
- que le problème disparraissait si je stoppais d'abort domoticz avant de lancer le script
Donc j'en deduis que cela vient de domoticz ..... Avez vous une idée pourquoi domoticz fais cela ? (ca fais penser à ses script "time", mais dans mon cas, je ne travaille pas dans le dossier de domoticz).
Il y a bien la solution de stopper domoticz a chaque fois, mais bon .... pas top ....
Merci de votre aide
Je me permets de vous demander conseil sur Domoticz.
J'ai installé celui ci sur un raspberry 4 il y a deja un bon bout de temps, avec diffférents scripts perso (time et device).
Sur cette machine, j'avais programmé un script (.sh, et hors domoticz) permettant de sauvegarder différents fichiers par rsync, et permettant de faire une image su systeme a cadence réguliere.
Bref, ce script marche tres bien sur mes autres machines (raspberry ou non), mais s'arrete avant la fin sur ce raspberry ....
En creusant un peu plus, je me suis rendu compte :
- que ce script s'arretait a la minute suivante (si je le lance a 14h05m25s, il se stoppera a 14h06m00s)
- que ce phénomene apparaissait quelque soit le script, quelque soit les commandes dans le scipt, et quelque soit le dossier où il est placé,
- que le problème disparraissait si je stoppais d'abort domoticz avant de lancer le script
Donc j'en deduis que cela vient de domoticz ..... Avez vous une idée pourquoi domoticz fais cela ? (ca fais penser à ses script "time", mais dans mon cas, je ne travaille pas dans le dossier de domoticz).
Il y a bien la solution de stopper domoticz a chaque fois, mais bon .... pas top ....
Merci de votre aide
Re: Probleme arret script
Je viens de déplacer ton sujet dans la section Linux.
Tu as essayé de lancer ton script via la crontab ?
Tu as essayé de lancer ton script via la crontab ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Probleme arret script
oui, il se lancait par le CRON jusqu'a présent et se finissait bien, mais c est depuis qu il prends plus de temps (plus d'une minute donc) qu il ne fonctionne plus
Merci
Merci
Re: Probleme arret script
Je ne vois pas de raison pour qu'un script lancé par une tache Cron s'arrête au bout d'une minute.
Si tu lances le scripts manuellement, il fonctionne ?
Si tu lances le scripts manuellement, il fonctionne ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Probleme arret script
Que ce soit pas cron ou lancé manuellement, il s'arrete systématiquement , ou plutot ne "continue" pas. J'ai l'impression qu'il fini la commande en cours (dans mon cas, un rsync que je vois en faisant un ps) du script et ne passe pas a la suivante.
En précision, le scripte ne s'arrete pas une minute apres son lancement. Il s'arrete "a la minute suivante", ce qui n'est pas pareil ....
En précision, le scripte ne s'arrete pas une minute apres son lancement. Il s'arrete "a la minute suivante", ce qui n'est pas pareil ....
Re: Probleme arret script
Tu pourrais nous partage ton script ?
Les commandes se terminent normalement si tu les lances indépendant via un terminal ?
Les commandes se terminent normalement si tu les lances indépendant via un terminal ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Probleme arret script
Sinon, pour aider à la compréhension du pb/debug, placer un:
Code : Tout sélectionner
set -x
Il doit y avoir un truc qui réponds pas avec un timeout (par defaut, si non précisé) long.
Re: Probleme arret script
je ne peux pas vous mettre le script complet car il est assez long (il s'applique a toutes mes machines du reseau et fonctionne tres bien sauf sur celle ci ou il est "avorté" au passage de la minute suivante).
Ci dessous l'extrait qui pose probleme :
Je précise que :
- dans ce cas ce sont des rsync, mais j ai essayé avec d'autres commandes (cp par exemple), et c est pareil, donc ca n a rien a voir avec le rsync, mais bien DOMOTICZ
- j'avais ajouté tous les "echoe" afin de savoir ce qu'il bloquait.
La fin des log avec set -x :
Dans ce cas, le script s'est arrete au rsync du dossier "DOMOTIQUE", car dossier volumineux, et le passage a la minute suivant est arrivé durant la copie de ce dossier (et donc ce rsync). Mais en fonction de l'heure d'execution du script, un autre "rsync" aurait tres bien pu etre le dernier. (je ne sais pas si je suis bien clair ....
)
Merci
Ci dessous l'extrait qui pose probleme :
Code : Tout sélectionner
# SAUVEGARDE DES DOSSIERS
#-----------------------------------------------------------------------------------
case $MACHINE in
#-------------------------------------------------------------------------------------------
# SRVDOMO (ok)
#-------------------------------------------------------------------------------------------
SRVDOMO)
mkdir -p ${DATATMP}/${DATANAME}/etc
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/fstab ${DATATMP}/${DATANAME}/etc"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/fstab ${DATATMP}/${DATANAME}/etc
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/init.d/ ${DATATMP}/${DATANAME}/etc/init.d/"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/init.d/ ${DATATMP}/${DATANAME}/etc/init.d/
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/sudoers ${DATATMP}/${DATANAME}/etc"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/sudoers ${DATATMP}/${DATANAME}/etc
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/mosquitto/ ${DATATMP}/${DATANAME}/etc/mosquitto/"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/mosquitto/ ${DATATMP}/${DATANAME}/etc/mosquitto/
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/owfs.conf ${DATATMP}/${DATANAME}/etc"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/owfs.conf ${DATATMP}/${DATANAME}/etc
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/etc/ssh/ ${DATATMP}/${DATANAME}/etc/ssh/"
rsync -rlpgoDc $SSHOPT $SSHCMD/etc/ssh/ ${DATATMP}/${DATANAME}/etc/ssh/
mkdir -p ${DATATMP}/${DATANAME}/var/spool/cron/
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/var/spool/cron/crontabs/ ${DATATMP}/${DATANAME}/var/spool/cron/crontabs/"
rsync -rlpgoDc $SSHOPT $SSHCMD/var/spool/cron/crontabs/ ${DATATMP}/${DATANAME}/var/spool/cron/crontabs/
mkdir -p ${DATATMP}/${DATANAME}/mnt/data
mkdir -p ${DATATMP}/${DATANAME}/mnt/data/DOMOTIQUE/
mkdir -p ${DATATMP}/${DATANAME}/mnt/data/SCRIPTS/
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT --exclude="1wire/" $SSHCMD/mnt/data/DOMOTIQUE/ ${DATATMP}/${DATANAME}/mnt/data/DOMOTIQUE/"
[b]rsync -rlpgoDc $SSHOPT --exclude="1wire/" $SSHCMD/mnt/data/DOMOTIQUE/ ${DATATMP}/${DATANAME}/mnt/data/DOMOTIQUE/[/b]
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/mnt/data/SCRIPTS/ ${DATATMP}/${DATANAME}/mnt/data/SCRIPTS/"
rsync -rlpgoDc $SSHOPT $SSHCMD/mnt/data/SCRIPTS/ ${DATATMP}/${DATANAME}/mnt/data/SCRIPTS/
mkdir -p ${DATATMP}/${DATANAME}/usr/local/lib/python3.7/dist-packages/
echo "`date +%H:%M:%S` - rsync -rlpgoDc $SSHOPT $SSHCMD/usr/local/lib/python3.7/dist-packages/ ${DATATMP}/${DATANAME}/usr/local/lib/python3.7/dist-packages/"
rsync -rlpgoDc $SSHOPT $SSHCMD/usr/local/lib/python3.7/dist-packages/ ${DATATMP}/${DATANAME}/usr/local/lib/python3.7/dist-packages/
mkdir -p ${DATATMP}/${DATANAME}/opt
rsync -rlpgoDc $SSHOPT --exclude="node_modules/" $SSHCMD/opt/zigbee2mqtt/ ${DATATMP}/${DATANAME}/opt/zigbee2mqtt/
;;
- dans ce cas ce sont des rsync, mais j ai essayé avec d'autres commandes (cp par exemple), et c est pareil, donc ca n a rien a voir avec le rsync, mais bien DOMOTICZ
- j'avais ajouté tous les "echoe" afin de savoir ce qu'il bloquait.
La fin des log avec set -x :
Code : Tout sélectionner
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_09h48/mnt/data/DOMOTIQUE/
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_09h48/mnt/data/SCRIPTS/
++ date +%H:%M:%S
+ echo '09:48:55 - rsync -rlpgoDc --exclude=1wire/ /mnt/xxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_09h48/mnt/data/DOMOTIQUE/'
09:48:55 - rsync -rlpgoDc --exclude=1wire/ /mnt/xxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_09h48/mnt/data/DOMOTIQUE/
+ rsync -rlpgoDc --exclude=1wire/ /mnt/data/DOMOTIQUE/ /mnt/xxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_09h48/[b]mnt/data/DOMOTIQUE/[/b]
Compl�t�Merci
Dernière modification par Neutrino le 03 déc. 2023, 10:47, modifié 1 fois.
Raison : Ajout Balises code à la place de quote
Raison : Ajout Balises code à la place de quote
Re: Probleme arret script
Je viens de relancer le script en stoppant domoticz, et il se termine correctement malgré le passage a la minute suivante :
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/DOMOTIQUE/
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/SCRIPTS/
++ date +%H:%M:%S
+ echo '10:12:56 - rsync -rlpgoDc --exclude=1wire/ /mnt/data/DOMOTIQUE/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/DOMOTIQUE/'
10:12:56 - rsync -rlpgoDc --exclude=1wire/ /mnt/data/DOMOTIQUE/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/DOMOTIQUE/
+ rsync -rlpgoDc --exclude=1wire/ /mnt/data/DOMOTIQUE/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/DOMOTIQUE/
++ date +%H:%M:%S
+ echo '10:13:46 - rsync -rlpgoDc /mnt/data/SCRIPTS/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/SCRIPTS/'
10:13:46 - rsync -rlpgoDc /mnt/data/SCRIPTS/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/SCRIPTS/
+ rsync -rlpgoDc /mnt/data/SCRIPTS/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/mnt/data/SCRIPTS/
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/usr/local/lib/python3.7/dist-packages/
++ date +%H:%M:%S
+ echo '10:13:58 - rsync -rlpgoDc /usr/local/lib/python3.7/dist-packages/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/usr/local/lib/python3.7/dist-packages/'
10:13:58 - rsync -rlpgoDc /usr/local/lib/python3.7/dist-packages/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/usr/local/lib/python3.7/dist-packages/
+ rsync -rlpgoDc /usr/local/lib/python3.7/dist-packages/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/usr/local/lib/python3.7/dist-packages/
+ mkdir -p /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/opt
+ rsync -rlpgoDc --exclude=node_modules/ /opt/zigbee2mqtt/ /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12/opt/zigbee2mqtt/
+ cd /mnt/xxxxxxxxxxxxxxxxxxx
+ tar -czf CONFIG__2023-12-02_10h12.tar.gz CONFIG__2023-12-02_10h12/
+ rm -rf /mnt/xxxxxxxxxxxxxxxxxxx/CONFIG__2023-12-02_10h12
+ printf 'Backup de %s - %s - %s\t [OK]\n' SRVDOMO CONFIG
+ expand -t 30
+ tee -a /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
Backup de SRVDOMO - CONFIG - [OK]
+ echo ------------------------------------------------------------------------------------------------
+ tee -a /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
------------------------------------------------------------------------------------------------
+ tee -a /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
++ date +%d-%m-%Y
++ date +%H:%M:%S
+ echo 'FIN : 02-12-2023 10:15:34'
FIN : 02-12-2023 10:15:34
+ echo ================================================================================================
+ tee -a /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
================================================================================================
+ echo
+ tee -a /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
+ cat /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log
+ mail -s 'BACKUP - SRVDOMO CONFIG [OK]' ced.bibal@gmail.com
/mnt/data/SCRIPTS/BACKUP/script_BACKUP.sh: ligne 428: mail : commande introuvable
+ cat /mnt/data/SCRIPTS/BACKUP/log/script_BACKUP.sh.log