Page 1 sur 1

Probleme arret script

Publié : 01 déc. 2023, 16:40
par ced12
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

Re: Probleme arret script

Publié : 01 déc. 2023, 17:26
par Keros
Je viens de déplacer ton sujet dans la section Linux.

Tu as essayé de lancer ton script via la crontab ?

Re: Probleme arret script

Publié : 01 déc. 2023, 19:24
par ced12
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

Re: Probleme arret script

Publié : 01 déc. 2023, 20:36
par Keros
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 ?

Re: Probleme arret script

Publié : 01 déc. 2023, 21:46
par ced12
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 ....

Re: Probleme arret script

Publié : 02 déc. 2023, 06:11
par Keros
Tu pourrais nous partage ton script ?

Les commandes se terminent normalement si tu les lances indépendant via un terminal ?

Re: Probleme arret script

Publié : 02 déc. 2023, 08:25
par lost
ced12 a écrit : 01 déc. 2023, 21:46dans mon cas, un rsync que je vois en faisant un ps...
Sinon, pour aider à la compréhension du pb/debug, placer un:

Code : Tout sélectionner

set -x
Avant la première commande du script... Cela donnera le resultat de tout test eventuel/commandes lancées etc.
Il doit y avoir un truc qui réponds pas avec un timeout (par defaut, si non précisé) long.

Re: Probleme arret script

Publié : 02 déc. 2023, 10:06
par ced12
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 :

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/
				;;
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 :

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�
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 .... :roll: )

Merci

Re: Probleme arret script

Publié : 02 déc. 2023, 10:19
par ced12
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