Probleme arret script

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
ced12
Messages : 6
Inscription : 21 mai 2019, 11:17

Probleme arret script

Message 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
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Probleme arret script

Message par Keros »

Je viens de déplacer ton sujet dans la section Linux.

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
ced12
Messages : 6
Inscription : 21 mai 2019, 11:17

Re: Probleme arret script

Message 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
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Probleme arret script

Message 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 ?
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
ced12
Messages : 6
Inscription : 21 mai 2019, 11:17

Re: Probleme arret script

Message 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 ....
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Probleme arret script

Message par Keros »

Tu pourrais nous partage ton script ?

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
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Probleme arret script

Message 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.
ced12
Messages : 6
Inscription : 21 mai 2019, 11:17

Re: Probleme arret script

Message 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
Dernière modification par Neutrino le 03 déc. 2023, 10:47, modifié 1 fois.
Raison : Ajout Balises code à la place de quote
ced12
Messages : 6
Inscription : 21 mai 2019, 11:17

Re: Probleme arret script

Message 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
Répondre