Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#126 Le 16/06/2025, à 17:35

iznobe

Re : script d’automatisation sauvegardes

@Watael , on dirait de la prose ton code big_smile Chapeau tiré ! , c ' est exactement ce que j ' imaginais .

juste ,  un oubli certainement dans le " case " 16 , une ligne rsync en trop non ?
ou bien c' est pour faire une double sauvegarde ??

Après c' est rsync + SSH , il n' empêche que ca devrait fonctionner tongue
Ca serait plus simple sans SSH et avec un montage dans le fstab.



on peut "factoriser" davantage

Ca me semble largement optimisé deja wink

Dernière modification par iznobe (Le 16/06/2025, à 18:13)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#127 Le 16/06/2025, à 17:51

steph810

Re : script d’automatisation sauvegardes

oui,
Moi c'est un truc certe rapide, mais jouer avec les expression réguliere c'est bien dans l'urgence. ont voit c'est son truc :} ,Moi j'aime bien formaliser comme ca si je doit y revenir + tard j'arrive a suivre.
Après hors compétence ont dira.
Puis c'est sûr qu'a jouer si bien opti un script qui prendrais 30 secondes a s'executer fini a 5 secondes tous depend des transfert ensuite
Làdedans, lui manque just une fonction de .log pour debug au cas ou.
Oui, j'aime les fonctions hmm

Dernière modification par steph810 (Le 16/06/2025, à 17:52)

Hors ligne

#128 Le 16/06/2025, à 18:12

iznobe

Re : script d’automatisation sauvegardes

Par contre , si erreur de connexion a l ' ordi en SSH , comment cela se passe t-il avec ce code ?
car je n' ai pas vu de contrôle pour ca .

peut etre qu ' un

 if [[ -d $src ]]; then 
      rsync --progress -a -v --delete-after -e ssh $user@$ip:"$src" "$dst" --backup --backup-dir="$bkp"
....

ne serait pas du luxe ?

ha ben oui , mais non , ca ne matchera jamais ...

sauf si montage dans fstab et commande rsync sans ssh . ( ou montage prealable dans le script .)

Dernière modification par iznobe (Le 16/06/2025, à 18:15)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#129 Le 16/06/2025, à 18:21

Watael

Re : script d’automatisation sauvegardes

si j'ai bien compris :

if ! nc -z -w3 "$ip" "${portSSH:-22}"; then >&2 echo "ERR: $ip inaccessible sur ${portSSH:-22}"; exit 1; fi

à mettre au début du script : `pas la peine d'aller plus loin si le serveur n'est pas joignable. smile

Dernière modification par Watael (Le 16/06/2025, à 18:22)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#130 Le 16/06/2025, à 18:28

iznobe

Re : script d’automatisation sauvegardes

oui , mais " $ip " est definie ( ou declarée ) dans le " case/esac " .
donc il faudrait mettre la ligne juste avant la commande rsync plutot non ? ou juste apres le case/esac en tout cas .

Dernière modification par iznobe (Le 16/06/2025, à 18:32)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#131 Le 16/06/2025, à 19:04

eric63

Re : script d’automatisation sauvegardes

sans rien changer aux scripts
un reboot de l’ordi m’a remis les choses en place pour la reconnaissance du montage du portable qui me demande à l’ouverture de ma session le mdp du portable ce que je n‘arrivais pas à faire avec les essais précédents mais sans reboot

ok pour les ;
ok pour une commande une ligne
ok pour les $LINENO
ok pour Musiques (et la sauvegarde s’est faite conformément)

Watael a écrit :

pourquoi y a-t-il deux fois if test "$ctrlID" = "$PartitionUID" (une fois implicite (dans le else du if test "$ctrlID" != "$PartitionUID"), et une fois explicite) ?
alors, que rien n'a été modifié; il y a seulement eu des affichages.

parce que avec kdialog --xxxx il y a obligatoirement un retour «OK» ou «Annuler» et on doit valider cette réponse. de plus ce controle ne se comporte pas de la même façon suivant que le disque est allumé avant l’ouverture de la session ou après
et je sais pas l’écrire autrement pour la boucle while do (j’avais utilisé dans un premier temps until [[ "$ctrlID" = "$PartitionUID" ]] do mais until est nouveau pour moi et je connais «mieux» while)
un while do suffit ??

"attendre avant de fermer la fenêtre" mais la fenêtre bloque le déroulement du script, et la boucle conditionnelle n'est pas réalisée.

lorsque le disque est monté la condition est remplie  et on peut fermer la fenêtre , d’ailleurs si on ferme la fenêtre sans attendre le montage du disque celui ci est effectif à la reconnaissance du montage dans les 2 cas il faut appuyer sur le ok de la fenêtre
(cette dernière fenêtre n’est peut être pas utile après tout mais comme je me suis cassé les dents pas mal de temps à trouver la bonne façon de faire; mais heuuu  smile  )

j’ai pas fini tes factorisations smile en #124

Dernière modification par eric63 (Le 16/06/2025, à 19:22)


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#132 Le 16/06/2025, à 19:07

Watael

Re : script d’automatisation sauvegardes

iznobe a écrit :

oui , mais " $ip " est definie ( ou declarée ) dans le " case/esac " .
donc il faudrait mettre la ligne juste avant la commande rsync plutot non ? ou juste apres le case/esac en tout cas .

on peut faire une liste des ip  tester et boucler dessus pour poursuivre le script, et redéfinir l'ip pour le rsync dans le case/esac.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#133 Le 16/06/2025, à 19:17

geole

Re : script d’automatisation sauvegardes

Watael a écrit :

si $resultats est obligatoirement un nombre (ou est vide) :

if test -z "$resultats"
then
    echo est vide
else
    if (( resultats == 1 ))
    then
        echo 1
    elif (( resultats == 2 ))
    then
        #...
    fi
fi

je me demande si un case/esac ne serait visuellement pas plus léger...

et, si $resultats est une liste de nombres, il ne serait pas inutile d'en faire une liste

readarray -t resultats < <(kdialog ...)

puis itérer sur la liste :

for item in "${resultats[@]}
do
    if test -z "$item"
    then...

wink

résultats est obligatoirement une  liste de puissance de 2  (1 2 4 8 16 .....) avec des trous. Initialement, je croyais qu'il n'y aurait que quatre cas.D'où un test simple.  On est maintenant à cinq cas  et si un jour cela passe à six..... Donc  il  faut modifier pour passer à la lecture d'une liste.
.

Dernière modification par geole (Le 16/06/2025, à 19:19)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity

Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#134 Le 16/06/2025, à 19:23

iznobe

Re : script d’automatisation sauvegardes

Watael a écrit :
iznobe a écrit :

oui , mais " $ip " est definie ( ou declarée ) dans le " case/esac " .
donc il faudrait mettre la ligne juste avant la commande rsync plutot non ? ou juste apres le case/esac en tout cas .

on peut faire une liste des ip  tester et boucler dessus pour poursuivre le script, et redéfinir l'ip pour le rsync dans le case/esac.

Ba non , en faisant cela , si un des ordis n' est pas accessible alors , toutes les sauvegardes seront indisponibles . pas bon .


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#135 Le 16/06/2025, à 19:37

eric63

Re : script d’automatisation sauvegardes

résultats est obligatoirement une  liste de puissance de 2  (1 2 4 8 16 .....) avec des trous.

j’avais dans l’idée au départ de faire une addition des résultats pour avoir un total de 33 possibilités si on compte le 0 et que cela pourrait servir a dispatcher les sauvegardes
mais c’est inutile


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#136 Le 16/06/2025, à 20:19

Watael

Re : script d’automatisation sauvegardes

geole a écrit :

une  liste de puissance de 2  (1 2 4 8 16

je ne suis pas bon en maths, mais quand même :
1² = 1
2² = 4
4² = 16
wink

iznobe a écrit :

Ba non , en faisant cela , si un des ordis n' est pas accessible alors , toutes les sauvegardes seront indisponibles . pas bon .

mouais. il y a toujours moyen de "mémoriser" l'état du serveur pour chaque sauvegarde, et de ne pas la faire au cas où.

declare -Ai ipHS
ips=( 1.2.3.4  1.2.3.5 )
for ip in ${ips[@]}
do
    nc -z -w3 $ip 22 || ipHS[$ip]=1
done
#...
case $i in
1) ip=...
    test -n "${ipHS[$ip]}" && continue
2) ...

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#137 Le 16/06/2025, à 20:46

iznobe

Re : script d’automatisation sauvegardes

ba , oui , mais bon , ca devient limite là ...
Alors que , si c' est monté dans le fstab , il y a juste à faire un :

if [[ -d $src ]]; then
    rsync ...

.

et à supprimer ssh de la commande rsync . bien bien plus simple à mon goût wink


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#138 Le 16/06/2025, à 21:18

eric63

Re : script d’automatisation sauvegardes

je ne suis pas bon en maths, mais quand même :
1² = 1
2² = 4
4² = 16

oui mais en binaire ça change tout


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#139 Le 16/06/2025, à 21:30

iznobe

Re : script d’automatisation sauvegardes

laliste des puissance de 2 , ca ne serait pas plutôt : 0,2,4,8,16,32 soit :
2⁰ ,2¹,2²,2³,2⁴,2⁵, etc .... Mais bon là n' est pas le sujet big_smile


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#140 Le 16/06/2025, à 21:33

Watael

Re : script d’automatisation sauvegardes

une  liste de puissance de 2

et pas liste de puissance 2 !
je l'ai dit "pas bon en maths" ! lol


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#141 Le 16/06/2025, à 21:38

iznobe

Re : script d’automatisation sauvegardes

sinon , y a le https://fr.wikipedia.org/wiki/Puissance_4 tongue , c' est moins difficile que les maths big_smile

on s ' en fait une ? cool

Dernière modification par iznobe (Le 16/06/2025, à 21:50)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#142 Hier à 08:20

eric63

Re : script d’automatisation sauvegardes

@ Watael

1)
                echo Photos
                user=Multimedias
                ip=192.168.1.128
                src=/home/Multimedias/MultimediasCommuns/Photos
                dst=/media/kubu/JEUX8T/SAUVEGARDES/
                bkp=incremental-Photos/$date/
                ;;

c’est quoi la subtilité des ;; en fin de bloc
??? cosmétique ? différenciation ? pratique?

et en #125 pourquoi ferais tu le contraire ?? qu’est ce que ça apporte en plus ? je cherche à comprendre ton optimisation

Dernière modification par eric63 (Hier à 08:42)


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#143 Hier à 09:03

iznobe

Re : script d’automatisation sauvegardes

c’est quoi la subtilité des ;; en fin de bloc
??? cosmétique ? différenciation ? pratique?

c' est ce cette maniere que s ' ecrit syntaxiquement  un "case/esac" en bash .




et en #125 pourquoi ferais tu le contraire ??

Watael a écrit :

notamment, "attendre avant de fermer la fenêtre" mais la fenêtre bloque le déroulement du script, et la boucle conditionnelle n'est pas réalisée.


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#144 Hier à 09:32

eric63

Re : script d’automatisation sauvegardes

ok pour les ;;  c’est du style et de la norme, important donc
et ok pour le #125 : il ne restera plus rien de l’architecture du script d’origine mise à part les variables et les commandes wink

j’ai essayé le script avec #125 mais ça ne reconnaît pas le disque
je lance la commande manuellement dans konsole après que ma session soit ouverte le disque est allumé

#!/bin/bash

####6b)  Créer le service d'exécution de la sauvegarde

###script de base geole modifié par iznobe et Watael de remplacement (plus simple) merci à eux
###voir https://forum.kubuntu-fr.org/viewtopic.php?id=2091380&p=5
### modifier les 2 premières variables du script
###Paramètres
MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"

ctrlID=$(findmnt -n --output UUID $MountPoint) ### controle si le disque monté
date=$(date +%F_%Hh%M)
###controle validité disque solution#125 Watael
until findmnt -n "$MountPoint"
do
	echo $LINENO
	>&2 echo "$MountPoint non trouvé.ALLUMER LE DISQUE EXTERNE"
	read -p 'poursuivre la recherche ? [Yn] '
	[[ $REPLY == n* ]] && { >&2 echo "abandon .ALLUMER LE DISQUE EXTERNE"; exit;}
done
ctrlID=$(findmnt -n --output UUID "$MountPoint")
echo $LINENO
if test "$CtrlID" != "$PartitionUID"
then
	echo $LINENO
        echo "ctrlID" $ctrlID
	echo "partition "$PartitionUID
	>&2	echo "$LINENO montage incorrect"
	kdialog --error "Montage du disque incorrect "
	exit 1
else
###controle validité disque ancienne version
#if [[ "$ctrlID" != "$PartitionUID" ]]
#then
#	echo échec
#	kdialog --error "Aucun disque reconnu ou disque éteint \n ALLUMER LE DISQUE EXTERNE \n AVANT de sélectionner «OK»"
#	kdialog --error "attendre que le disque soit monté avant de fermer cette fenêtre \n la sauvegarde pourra être faite "
#	# conditions de détection disque non monté (ctrlID vide)
#	until [[ "$ctrlID" != "$PartitionUID" ]]
#	do
#		sleep 1
#		#si le montage est reconnu mettre ctrlID à la bonne valeur
#		ctrlID=$(findmnt -n --output UUID $MountPoint)
#		sleep 1
#		$LINENO
#		echo "ctrlID" $ctrlID
#		echo "partition"$PartitionUID
#		sleep 1
#	done
#else

	echo réussite
	echo "ctrlID" $ctrlID
	echo "partition"$PartitionUID
	kdialog --error "$LINENO le disque est monté \n la sauvegarde peut être faite maintenant "

	### choix des sauvegardes
…

ça me donne

kubu@kubu-System-Product-Name:~$ /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
/media/kubu/JEUX8T /dev/sdc1 ext4 rw,nosuid,nodev,relatime,errors=remount-ro
23
26
ctrlID 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
partition 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
29 montage incorrect
kubu@kubu-System-Product-Name:~$ 

si je reboot l’ordi avec le disque resté allumé les 2 scripts sont lancés automatiquement
et j’ai juste une fenêtre de kdialog qui m’indique que le montage du disque est incorrect
et le script des sauvegarde est déclaré en échec dans le démarrage automatique

Dernière modification par eric63 (Hier à 11:36)


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#145 Hier à 23:42

eric63

Re : script d’automatisation sauvegardes

bon je suis revenu un peu en arrière avec le script la #125 ne fonctionnait pas j’ai essayé plusieurs façon sans succès
j’ai repris la version du #124
et j’ai réussi à supprimer la ligne qui chagrinait Watael sans provoquer de mauvais fonctionnement aux prix de sleep intermédiaires (sans ces sleep le script ne reconnaissait pas le disque ou bien le disque était reconnu mais pas monté)
et le choix et les sauvegardes se font correctement sauf le dossier incremental-DocumentsPartages (le seul essayé pour exemple) qui ne remplit pas sa fonction de récupération des anciennes versions de fichiers.
Dans mes premiers essais le dossier ne se créait pas donc je l’ai créé sans date mais ça n’a rien changé aucune création de fichier ou de dossier daté ayant un ancien fichier 
le script version xxx

#!/bin/bash

####6b)  Créer le service d'exécution de la sauvegarde

###script de base geole modifié par iznobe et Watael de remplacement (plus simple) merci à eux
###voir https://forum.kubuntu-fr.org/viewtopic.php?id=2091380&p=5
### modifier les 2 premières variables du script
###Paramètres
MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint) ### controle si le disque est monté
date=$(date +%F_%Hh%M)
###controle validité disque solution#125 Watael
#controle validité disque ancienne version
if [[ "$ctrlID" != "$PartitionUID" ]]
then
	echo échec
	echo "ctrlID" $ctrlID
	echo "partition"$PartitionUID
	kdialog --error "Aucun disque reconnu ou disque éteint \n ALLUMER LE DISQUE EXTERNE \n AVANT de sélectionner «OK»"
	sleep 5
	#kdialog --error "attendre que le disque soit monté avant de fermer cette fenêtre \n la sauvegarde pourra être faite "
	# conditions de détection disque non monté (ctrlID vide)
	while [[ "$ctrlID" != "$PartitionUID" ]]
	do
		sleep 2
		#si le montage est reconnu mettre ctrlID à la bonne valeur
		ctrlID=$(findmnt -n --output UUID $MountPoint)
		sleep 1
		$LINENO
		echo "ctrlID" $ctrlID
		echo "partition" $PartitionUID
		sleep 1
	done
else
	echo réussite
	echo "ctrlID" $ctrlID
	echo "partition" $PartitionUID
	kdialog --error " le disque est monté \n la sauvegarde peut être faite maintenant "
fi
### choix des sauvegardes
	resultats=$(kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde DocumentsCommuns" off 16 "Sauvegarde DocumentsEricFanou"	off)
	for i in $resultats
	###choix façon Watael
	do
		case $i in
			1)
				echo Photos
				user=Multimedias
				ip=192.168.1.128
				src=/home/Multimedias/MultimediasCommuns/Photos
				dst=/media/kubu/JEUX8T/SAUVEGARDES/
				bkp=incremental-Photos/$date/
				;;
			2)
				echo Images
				user=Multimedias
				ip=192.168.1.128
				src=/home/Multimedias/MultimediasCommuns/Images
				dst=/media/kubu/JEUX8T/SAUVEGARDES/
				bkp=incremental-Images/$date/
				;;
			4)
				echo Musiques
				user=Multimedias
				ip=192.168.1.128
				src=/home/Multimedias/MultimediasCommuns/Musiques
				dst=/media/kubu/JEUX8T/SAUVEGARDES/
				bkp=incremental-Musiques/$date/
				;;
			8)
				echo DocumentsCommuns
				user=Multimedias
				ip=192.168.1.128
				src=/home/Multimedias/DocumentsPartages
				dst=/media/kubu/JEUX8T/SauvegardesDocumentsCommuns/
				bkp=incremental-DocumentsPartages/$date/
				;;
			16)
				echo DocumentsEricFanou
				rsync --progress -a -v --delete-after -e /home/kubu/Documents  /home/kubu/VMSauvegardesDocuments	VMSauvegardesDocumentsEric/  --backup --backup-dir=incremental-DocumentsEric/$date/
				user=fanou
				ip=192.168.1.60
				src=/home/fanou/Documents
				dst=/home/kubu/VMSauvegardesDocuments/VMSauvegardesDocumentsFanou/
				bkp=incremental-DocumentsFanou/$date/
		esac
		kdialog --passivepopup "sauvegardes $resultats en cours" 10
		rsync --progress -a -v --delete-after -e ssh $user@$ip:"$src" "$dst" --backup --backup-dir="$bkp"
	done
kdialog --msgbox "FIN des sauvegardes $resultats "

Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#146 Aujourd'hui à 00:56

steph810

Re : script d’automatisation sauvegardes

Bonjour,
Esssayer de tester fonction de debug et de log
Pour activer le debug voir ligne 26 et mettre 1 a la place de 0
log dispo dans ~/.logs
dite moi si fonctionnel.
https://bpa.st/N5PQ

Hors ligne

#147 Aujourd'hui à 07:39

iznobe

Re : script d’automatisation sauvegardes

le choix et les sauvegardes se font correctement sauf le dossier incremental-DocumentsPartages

c ' est peut etre normal vu que :

...
8)
				echo DocumentsCommuns
				user=Multimedias
				ip=192.168.1.128
				src=/home/Multimedias/DocumentsPartages
				dst=/media/kubu/JEUX8T/SauvegardesDocumentsCommuns/
				bkp=incremental-DocumentsPartages/$date/
				;;
...

$src et $dst ont l' air completement different des autres . ne serait ce pas simplement des erreurs de chemins ?

que donne :

ls -l /home/Multimedias/MultimediasCommuns/
ls -l /media/kubu/JEUX8T/SAUVEGARDES/
ls -l /media/kubu/JEUX8T/SauvegardesDocumentsCommuns/
ls -l /home/Multimedias/DocumentsPartages
sudo find /home/Multimedias/MultimediasCommuns/ -name DocumentsPartages
sudo find /media/kubu/JEUX8T -name SauvegardesDocumentsCommuns

Dernière modification par iznobe (Aujourd'hui à 07:49)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#148 Aujourd'hui à 12:49

eric63

Re : script d’automatisation sauvegardes

le script modifié steph810 est top top vous tous trop fortiches cool
j’en ai profité pour modifier l’emplacement de la sauvegardeCommune vers le dossier SAUVEGARDES/ du disque ça met un peu plus de logique (à moi)

kubu@kubu-System-Product-Name:~$ /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
[2025-06-18 12:00:32] [INFO] === DÉBUT DE LA SAUVEGARDE ===
[2025-06-18 12:00:32] [DEBUG] Répertoire des logs: /home/kubu/.logs/backup-script
[2025-06-18 12:00:32] [DEBUG] Mode debug: 1
[2025-06-18 12:00:32] [DEBUG] Nettoyage des anciens logs (> 30 jours)
[2025-06-18 12:00:32] [INFO] Configuration:
[2025-06-18 12:00:32] [INFO]   - Point de montage: /media/kubu/JEUX8T
[2025-06-18 12:00:32] [INFO]   - UUID partition: 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:00:32] [INFO]   - Date: 2025-06-18_12h00
[2025-06-18 12:00:32] [DEBUG] Utilisateur: kubu
[2025-06-18 12:00:32] [INFO] Vérification du disque externe...
[2025-06-18 12:00:32] [DEBUG] UUID trouvé: ''
[2025-06-18 12:00:32] [DEBUG] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 12:00:32] [ERROR] Disque non reconnu ou éteint
[2025-06-18 12:00:32] [ERROR] UUID trouvé: ''
[2025-06-18 12:00:32] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
échec
ctrlID
partition35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:01:01] [INFO] Attente du montage du disque...
[2025-06-18 12:01:06] [DEBUG] Tentative 1 - Vérification du montage...
[2025-06-18 12:01:09] [DEBUG] Ligne 113
ctrlID
partition 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:01:09] [DEBUG] UUID vérifié: ''
[2025-06-18 12:01:10] [DEBUG] Tentative 2 - Vérification du montage...
[2025-06-18 12:01:13] [DEBUG] Ligne 113
ctrlID
partition 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:01:13] [DEBUG] UUID vérifié: ''
[2025-06-18 12:01:14] [DEBUG] Tentative 3 - Vérification du montage...
[2025-06-18 12:01:18] [DEBUG] Ligne 113
ctrlID 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
partition 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:01:18] [DEBUG] UUID vérifié: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 12:01:19] [INFO] Disque monté avec succès après 4 tentatives
[2025-06-18 12:01:19] [INFO] Affichage de la boîte de dialogue de sélection...
[2025-06-18 12:01:35] [INFO] Sélections utilisateur: 4
8
[2025-06-18 12:01:35] [INFO] === TRAITEMENT SAUVEGARDE 1 ===
[2025-06-18 12:01:35] [DEBUG] Valeur sélectionnée: 4
[2025-06-18 12:01:35] [INFO] Sauvegarde Musiques sélectionnée
Musiques
[2025-06-18 12:01:35] [INFO] Configuration sauvegarde Musiques:
[2025-06-18 12:01:35] [INFO]   - Source: Multimedias@192.168.1.128:/home/Multimedias/MultimediasCommuns/Musiques
[2025-06-18 12:01:35] [INFO]   - Destination: /media/kubu/JEUX8T/SAUVEGARDES/
[2025-06-18 12:01:35] [INFO]   - Répertoire de sauvegarde: incremental-Musiques/2025-06-18_12h00/
[2025-06-18 12:01:35] [DEBUG] Test de connexion SSH vers Multimedias@192.168.1.128...
[2025-06-18 12:01:37] [INFO] Connexion SSH vers Multimedias@192.168.1.128: OK
[2025-06-18 12:01:37] [INFO] Début de la sauvegarde Musiques...
[2025-06-18 12:01:37] [INFO] Sauvegarde Musiques réussie en 0s
[2025-06-18 12:01:37] [INFO] === TRAITEMENT SAUVEGARDE 2 ===
[2025-06-18 12:01:37] [DEBUG] Valeur sélectionnée: 8
[2025-06-18 12:01:37] [INFO] Sauvegarde DocumentsCommuns sélectionnée
DocumentsCommuns
[2025-06-18 12:01:37] [INFO] Configuration sauvegarde DocumentsCommuns:
[2025-06-18 12:01:37] [INFO]   - Source: Multimedias@192.168.1.128:/home/Multimedias/DocumentsPartages
[2025-06-18 12:01:37] [INFO]   - Destination: /media/kubu/JEUX8T/SAUVEGARDES/SauvegardesDocumentsCommuns/
[2025-06-18 12:01:37] [INFO]   - Répertoire de sauvegarde: incremental-DocumentsPartages/2025-06-18_12h00/
[2025-06-18 12:01:37] [DEBUG] Test de connexion SSH vers Multimedias@192.168.1.128...
[2025-06-18 12:01:37] [INFO] Connexion SSH vers Multimedias@192.168.1.128: OK
[2025-06-18 12:01:37] [INFO] Début de la sauvegarde DocumentsCommuns...
[2025-06-18 12:01:38] [INFO] Sauvegarde DocumentsCommuns réussie en 1s
[2025-06-18 12:01:38] [INFO] === RÉSUMÉ FINAL ===
[2025-06-18 12:01:38] [INFO] Sauvegardes traitées: 2
[2025-06-18 12:01:38] [INFO] Réussites: 2
[2025-06-18 12:01:38] [INFO] Échecs: 0
[2025-06-18 12:01:38] [INFO] Toutes les sauvegardes ont réussi !
[2025-06-18 12:01:43] [INFO] === FIN DE LA SAUVEGARDE ===
[2025-06-18 12:01:43] [INFO] Logs disponibles dans: /home/kubu/.logs/backup-script
kubu@kubu-System-Product-Name:~$ 

en recommençant le script une 2ème fois le script à eut une malfonction ???

  kubu@kubu-System-Product-Name:~$ /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO] === DÉBUT DE LA SAUVEGARDE ===
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] Répertoire des logs: /var/log/backup-script
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] Mode debug: 1
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] Nettoyage des anciens logs (> 30 jours)
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO] Configuration:
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO]   - Point de montage: /media/kubu/JEUX8T
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO]   - UUID partition: 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO]   - Date: 2025-06-18_12h16
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] Utilisateur: kubu
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO] Vérification du disque externe...
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] UUID trouvé: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:22] [DEBUG] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:22] [INFO] Disque correctement monté
réussite
ctrlID 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
partition 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:25] [INFO] Affichage de la boîte de dialogue de sélection...
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO] Sélections utilisateur: 8
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO] === TRAITEMENT SAUVEGARDE 1 ===
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:35] [DEBUG] Valeur sélectionnée: 8
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO] Sauvegarde DocumentsCommuns sélectionnée
DocumentsCommuns
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO] Configuration sauvegarde DocumentsCommuns:
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO]   - Source: Multimedias@192.168.1.128:/home/Multimedias/DocumentsPartages
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO]   - Destination: /media/kubu/JEUX8T/SAUVEGARDES/SauvegardesDocumentsCommuns/
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:35] [INFO]   - Répertoire de sauvegarde: incremental-DocumentsPartages/2025-06-18_12h16/
tee: /var/log/backup-script/debug_20250618.log: Permission denied
[2025-06-18 12:16:35] [DEBUG] Test de connexion SSH vers Multimedias@192.168.1.128...
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] Connexion SSH vers Multimedias@192.168.1.128: OK
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] Début de la sauvegarde DocumentsCommuns...
/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh: line 259: /var/log/backup-script/backup_20250618.log: Permission denied
tee: /var/log/backup-script/backup_20250618.log: Permission denied
tee: /var/log/backup-script/error_20250618.log: Permission denied
[2025-06-18 12:16:36] [ERROR] Échec sauvegarde DocumentsCommuns après 0s
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] === RÉSUMÉ FINAL ===
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] Sauvegardes traitées: 1
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] Réussites: 0
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [INFO] Échecs: 1
tee: /var/log/backup-script/backup_20250618.log: Permission denied
[2025-06-18 12:16:36] [WARNING] Certaines sauvegardes ont échoué. Consultez les logs.

Dernière modification par eric63 (Aujourd'hui à 12:53)


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne

#149 Aujourd'hui à 13:15

steph810

Re : script d’automatisation sauvegardes

Bonjour,
je vais voir ca mais pour l'erreur peut etre une mod que vous avez faite ?
a voir dans les logs .
je vois vous avez tout activez smile log et debug
peut-être revoir les delais aussi sleep si le disque etais monté ou pas.

Dernière modification par steph810 (Aujourd'hui à 13:20)

Hors ligne

#150 Aujourd'hui à 14:58

eric63

Re : script d’automatisation sauvegardes

Le script est en echec dans le demarrage automatique et quoique je fasse avec le disque (allumage disque avant ou après reboot et allumage du Pc et de la session) j’ai maintenant toujours le même défaut [2025-06-18 14:25:41] [ERROR] Disque fichier error_20250618.log

[code][2025-06-18 14:25:41] [ERROR] Disque non reconnu ou éteint
[2025-06-18 14:25:41] [ERROR] UUID trouvé: ''
[2025-06-18 14:25:41] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 14:29:48] [ERROR] Timeout: Disque non monté après 60 tentatives
[2025-06-18 14:42:11] [ERROR] Disque non reconnu ou éteint
[2025-06-18 14:42:11] [ERROR] UUID trouvé: ''
[2025-06-18 14:42:11] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'[/code]
le fichier debug 
[2025-06-18 14:42:11] [DEBUG] Répertoire des logs: /var/log/backup-script
[2025-06-18 14:42:11] [DEBUG] Mode debug: 1
[2025-06-18 14:42:11] [DEBUG] Nettoyage des anciens logs (> 30 jours)
[2025-06-18 14:42:11] [DEBUG] Utilisateur: root
[2025-06-18 14:42:11] [DEBUG] UUID trouvé: ''
[2025-06-18 14:42:11] [DEBUG] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 14:42:16] [DEBUG] Tentative 1 - Vérification du montage...
[2025-06-18 14:42:20] [DEBUG] Ligne 113
[2025-06-18 14:42:20] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:22] [DEBUG] Tentative 2 - Vérification du montage...
[2025-06-18 14:42:26] [DEBUG] Ligne 113
[2025-06-18 14:42:26] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:28] [DEBUG] Tentative 3 - Vérification du montage...
[2025-06-18 14:42:32] [DEBUG] Ligne 113
[2025-06-18 14:42:32] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:34] [DEBUG] Tentative 4 - Vérification du montage...
[2025-06-18 14:42:38] [DEBUG] Ligne 113
[2025-06-18 14:42:38] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:40] [DEBUG] Tentative 5 - Vérification du montage...
[2025-06-18 14:42:44] [DEBUG] Ligne 113
[2025-06-18 14:42:44] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:46] [DEBUG] Tentative 6 - Vérification du montage...
[2025-06-18 14:42:50] [DEBUG] Ligne 113
[2025-06-18 14:42:50] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:52] [DEBUG] Tentative 7 - Vérification du montage...
[2025-06-18 14:42:56] [DEBUG] Ligne 113
[2025-06-18 14:42:56] [DEBUG] UUID vérifié: ''
[2025-06-18 14:42:58] [DEBUG] Tentative 8 - Vérification du montage...
[2025-06-18 14:43:02] [DEBUG] Ligne 113
[2025-06-18 14:43:02] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:04] [DEBUG] Tentative 9 - Vérification du montage...
[2025-06-18 14:43:08] [DEBUG] Ligne 113
[2025-06-18 14:43:08] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:10] [DEBUG] Tentative 10 - Vérification du montage...
[2025-06-18 14:43:14] [DEBUG] Ligne 113
[2025-06-18 14:43:14] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:16] [DEBUG] Tentative 11 - Vérification du montage...
[2025-06-18 14:43:20] [DEBUG] Ligne 113
[2025-06-18 14:43:20] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:22] [DEBUG] Tentative 12 - Vérification du montage...
[2025-06-18 14:43:26] [DEBUG] Ligne 113
[2025-06-18 14:43:26] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:28] [DEBUG] Tentative 13 - Vérification du montage...
[2025-06-18 14:43:32] [DEBUG] Ligne 113
[2025-06-18 14:43:32] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:34] [DEBUG] Tentative 14 - Vérification du montage...
[2025-06-18 14:43:38] [DEBUG] Ligne 113
[2025-06-18 14:43:38] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:40] [DEBUG] Tentative 15 - Vérification du montage...
[2025-06-18 14:43:44] [DEBUG] Ligne 113
[2025-06-18 14:43:44] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:46] [DEBUG] Tentative 16 - Vérification du montage...
[2025-06-18 14:43:50] [DEBUG] Ligne 113
[2025-06-18 14:43:50] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:52] [DEBUG] Tentative 17 - Vérification du montage...
[2025-06-18 14:43:56] [DEBUG] Ligne 113
[2025-06-18 14:43:56] [DEBUG] UUID vérifié: ''
[2025-06-18 14:43:58] [DEBUG] Tentative 18 - Vérification du montage...
[2025-06-18 14:44:02] [DEBUG] Ligne 113
[2025-06-18 14:44:02] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:04] [DEBUG] Tentative 19 - Vérification du montage...
[2025-06-18 14:44:08] [DEBUG] Ligne 113
[2025-06-18 14:44:08] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:10] [DEBUG] Tentative 20 - Vérification du montage...
[2025-06-18 14:44:14] [DEBUG] Ligne 113
[2025-06-18 14:44:14] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:16] [DEBUG] Tentative 21 - Vérification du montage...
[2025-06-18 14:44:20] [DEBUG] Ligne 113
[2025-06-18 14:44:20] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:22] [DEBUG] Tentative 22 - Vérification du montage...
[2025-06-18 14:44:26] [DEBUG] Ligne 113
[2025-06-18 14:44:26] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:29] [DEBUG] Tentative 23 - Vérification du montage...
[2025-06-18 14:44:33] [DEBUG] Ligne 113
[2025-06-18 14:44:33] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:35] [DEBUG] Tentative 24 - Vérification du montage...
[2025-06-18 14:44:39] [DEBUG] Ligne 113
[2025-06-18 14:44:39] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:41] [DEBUG] Tentative 25 - Vérification du montage...
[2025-06-18 14:44:45] [DEBUG] Ligne 113
[2025-06-18 14:44:45] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:47] [DEBUG] Tentative 26 - Vérification du montage...
[2025-06-18 14:44:51] [DEBUG] Ligne 113
[2025-06-18 14:44:51] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:53] [DEBUG] Tentative 27 - Vérification du montage...
[2025-06-18 14:44:57] [DEBUG] Ligne 113
[2025-06-18 14:44:57] [DEBUG] UUID vérifié: ''
[2025-06-18 14:44:59] [DEBUG] Tentative 28 - Vérification du montage...
[2025-06-18 14:45:03] [DEBUG] Ligne 113
[2025-06-18 14:45:03] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:05] [DEBUG] Tentative 29 - Vérification du montage...
[2025-06-18 14:45:09] [DEBUG] Ligne 113
[2025-06-18 14:45:09] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:11] [DEBUG] Tentative 30 - Vérification du montage...
[2025-06-18 14:45:15] [DEBUG] Ligne 113
[2025-06-18 14:45:15] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:17] [DEBUG] Tentative 31 - Vérification du montage...
[2025-06-18 14:45:21] [DEBUG] Ligne 113
[2025-06-18 14:45:21] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:23] [DEBUG] Tentative 32 - Vérification du montage...
[2025-06-18 14:45:27] [DEBUG] Ligne 113
[2025-06-18 14:45:27] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:29] [DEBUG] Tentative 33 - Vérification du montage...
[2025-06-18 14:45:33] [DEBUG] Ligne 113
[2025-06-18 14:45:33] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:35] [DEBUG] Tentative 34 - Vérification du montage...
[2025-06-18 14:45:39] [DEBUG] Ligne 113
[2025-06-18 14:45:39] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:41] [DEBUG] Tentative 35 - Vérification du montage...
[2025-06-18 14:45:45] [DEBUG] Ligne 113
[2025-06-18 14:45:45] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:47] [DEBUG] Tentative 36 - Vérification du montage...
[2025-06-18 14:45:51] [DEBUG] Ligne 113
[2025-06-18 14:45:51] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:53] [DEBUG] Tentative 37 - Vérification du montage...
[2025-06-18 14:45:57] [DEBUG] Ligne 113
[2025-06-18 14:45:57] [DEBUG] UUID vérifié: ''
[2025-06-18 14:45:59] [DEBUG] Tentative 38 - Vérification du montage...
[2025-06-18 14:46:03] [DEBUG] Ligne 113
[2025-06-18 14:46:03] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:05] [DEBUG] Tentative 39 - Vérification du montage...
[2025-06-18 14:46:09] [DEBUG] Ligne 113
[2025-06-18 14:46:09] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:11] [DEBUG] Tentative 40 - Vérification du montage...
[2025-06-18 14:46:15] [DEBUG] Ligne 113
[2025-06-18 14:46:15] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:17] [DEBUG] Tentative 41 - Vérification du montage...
[2025-06-18 14:46:21] [DEBUG] Ligne 113
[2025-06-18 14:46:21] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:23] [DEBUG] Tentative 42 - Vérification du montage...
[2025-06-18 14:46:27] [DEBUG] Ligne 113
[2025-06-18 14:46:27] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:29] [DEBUG] Tentative 43 - Vérification du montage...
[2025-06-18 14:46:33] [DEBUG] Ligne 113
[2025-06-18 14:46:33] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:35] [DEBUG] Tentative 44 - Vérification du montage...
[2025-06-18 14:46:39] [DEBUG] Ligne 113
[2025-06-18 14:46:39] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:41] [DEBUG] Tentative 45 - Vérification du montage...
[2025-06-18 14:46:45] [DEBUG] Ligne 113
[2025-06-18 14:46:45] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:47] [DEBUG] Tentative 46 - Vérification du montage...
[2025-06-18 14:46:51] [DEBUG] Ligne 113
[2025-06-18 14:46:51] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:53] [DEBUG] Tentative 47 - Vérification du montage...
[2025-06-18 14:46:57] [DEBUG] Ligne 113
[2025-06-18 14:46:57] [DEBUG] UUID vérifié: ''
[2025-06-18 14:46:59] [DEBUG] Tentative 48 - Vérification du montage...
[2025-06-18 14:47:03] [DEBUG] Ligne 113
[2025-06-18 14:47:03] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:05] [DEBUG] Tentative 49 - Vérification du montage...
[2025-06-18 14:47:09] [DEBUG] Ligne 113
[2025-06-18 14:47:09] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:11] [DEBUG] Tentative 50 - Vérification du montage...
[2025-06-18 14:47:15] [DEBUG] Ligne 113
[2025-06-18 14:47:15] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:17] [DEBUG] Tentative 51 - Vérification du montage...
[2025-06-18 14:47:21] [DEBUG] Ligne 113
[2025-06-18 14:47:21] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:23] [DEBUG] Tentative 52 - Vérification du montage...
[2025-06-18 14:47:27] [DEBUG] Ligne 113
[2025-06-18 14:47:27] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:29] [DEBUG] Tentative 53 - Vérification du montage...
[2025-06-18 14:47:33] [DEBUG] Ligne 113
[2025-06-18 14:47:33] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:35] [DEBUG] Tentative 54 - Vérification du montage...
[2025-06-18 14:47:39] [DEBUG] Ligne 113
[2025-06-18 14:47:39] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:41] [DEBUG] Tentative 55 - Vérification du montage...
[2025-06-18 14:47:45] [DEBUG] Ligne 113
[2025-06-18 14:47:45] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:47] [DEBUG] Tentative 56 - Vérification du montage...
[2025-06-18 14:47:52] [DEBUG] Ligne 113
[2025-06-18 14:47:52] [DEBUG] UUID vérifié: ''
[2025-06-18 14:47:54] [DEBUG] Tentative 57 - Vérification du montage...
[2025-06-18 14:47:58] [DEBUG] Ligne 113
[2025-06-18 14:47:58] [DEBUG] UUID vérifié: ''
[2025-06-18 14:48:00] [DEBUG] Tentative 58 - Vérification du montage...
[2025-06-18 14:48:04] [DEBUG] Ligne 113
[2025-06-18 14:48:04] [DEBUG] UUID vérifié: ''
[2025-06-18 14:48:06] [DEBUG] Tentative 59 - Vérification du montage...
[2025-06-18 14:48:10] [DEBUG] Ligne 113
[2025-06-18 14:48:10] [DEBUG] UUID vérifié: ''
[2025-06-18 14:48:12] [DEBUG] Tentative 60 - Vérification du montage...
[2025-06-18 14:48:16] [DEBUG] Ligne 113
[2025-06-18 14:48:16] [DEBUG] UUID vérifié: ''

et le fichier backup

[2025-06-18 12:01:43] [INFO] === DÉBUT DE LA SAUVEGARDE ===
[2025-06-18 12:01:43] [INFO] Configuration:
[2025-06-18 12:01:43] [INFO]   - Point de montage: /media/root/JEUX8T
[2025-06-18 12:01:43] [INFO]   - UUID partition: 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 12:01:43] [INFO]   - Date: 2025-06-18_12h01
[2025-06-18 12:01:43] [INFO] Vérification du disque externe...
[2025-06-18 12:01:43] [ERROR] Disque non reconnu ou éteint
[2025-06-18 12:01:43] [ERROR] UUID trouvé: ''
[2025-06-18 12:01:43] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 12:01:43] [INFO] Attente du montage du disque...
[2025-06-18 12:05:50] [ERROR] Timeout: Disque non monté après 60 tentatives
[2025-06-18 14:25:41] [INFO] === DÉBUT DE LA SAUVEGARDE ===
[2025-06-18 14:25:41] [INFO] Configuration:
[2025-06-18 14:25:41] [INFO]   - Point de montage: /media/root/JEUX8T
[2025-06-18 14:25:41] [INFO]   - UUID partition: 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 14:25:41] [INFO]   - Date: 2025-06-18_14h25
[2025-06-18 14:25:41] [INFO] Vérification du disque externe...
[2025-06-18 14:25:41] [ERROR] Disque non reconnu ou éteint
[2025-06-18 14:25:41] [ERROR] UUID trouvé: ''
[2025-06-18 14:25:41] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 14:25:41] [INFO] Attente du montage du disque...
[2025-06-18 14:29:48] [ERROR] Timeout: Disque non monté après 60 tentatives
[2025-06-18 14:42:11] [INFO] === DÉBUT DE LA SAUVEGARDE ===
[2025-06-18 14:42:11] [INFO] Configuration:
[2025-06-18 14:42:11] [INFO]   - Point de montage: /media/root/JEUX8T
[2025-06-18 14:42:11] [INFO]   - UUID partition: 35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
[2025-06-18 14:42:11] [INFO]   - Date: 2025-06-18_14h42
[2025-06-18 14:42:11] [INFO] Vérification du disque externe...
[2025-06-18 14:42:11] [ERROR] Disque non reconnu ou éteint
[2025-06-18 14:42:11] [ERROR] UUID trouvé: ''
[2025-06-18 14:42:11] [ERROR] UUID attendu: '35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa'
[2025-06-18 14:42:11] [INFO] Attente du montage du disque...
[2025-06-18 14:48:18] [ERROR] Timeout: Disque non monté après 60 tentatives

je vais juste redonné le script modifié en ligne 193

 dst=/media/kubu/JEUX8T/SAUVEGARDES/SauvegardesDocumentsCommuns/ 

et j’ai augmenté un peu la valeur des sleep en lignes 109 112 117 ou alors il y a une variable qui n’est pas réinitialisée
mon disque est normalement monté lorsque je vais sur dolphin et dans les dossiers

 #!/bin/bash

####6b) Créer le service d'exécution de la sauvegarde avec logging

###script de base geole modifié par iznobe et Watael de remplacement (plus simple) merci à eux
###voir https://forum.kubuntu-fr.org/viewtopic.php?id=2091380&p=5
### modifier les 2 premières variables du script

# Configuration des logs
LOG_DIR="/var/log/backup-script"
LOG_FILE="$LOG_DIR/backup_$(date +%Y%m%d).log"
DEBUG_FILE="$LOG_DIR/debug_$(date +%Y%m%d).log"
ERROR_FILE="$LOG_DIR/error_$(date +%Y%m%d).log"

# Création du répertoire de logs s'il n'existe pas
mkdir -p "$LOG_DIR" 2>/dev/null || {
    # Si création échoue (pas de droits root), utiliser le home de l'utilisateur
    LOG_DIR="$HOME/.logs/backup-script"
    mkdir -p "$LOG_DIR"
    LOG_FILE="$LOG_DIR/backup_$(date +%Y%m%d).log"
    DEBUG_FILE="$LOG_DIR/debug_$(date +%Y%m%d).log"
    ERROR_FILE="$LOG_DIR/error_$(date +%Y%m%d).log"
}

# Mode debug (mettre à 1 pour activer le debug verbeux)
DEBUG_MODE=1

# Fonctions de logging
log_info() {
    local message="$1"
    local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
    echo "[$timestamp] [INFO] $message" | tee -a "$LOG_FILE"
}

log_error() {
    local message="$1"
    local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
    echo "[$timestamp] [ERROR] $message" | tee -a "$LOG_FILE" | tee -a "$ERROR_FILE"
}

log_debug() {
    local message="$1"
    local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
    if [ "$DEBUG_MODE" -eq 1 ]; then
        echo "[$timestamp] [DEBUG] $message" | tee -a "$DEBUG_FILE"
    fi
}

log_warning() {
    local message="$1"
    local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
    echo "[$timestamp] [WARNING] $message" | tee -a "$LOG_FILE"
}

# Fonction pour nettoyer les anciens logs (garde les 30 derniers jours)
cleanup_old_logs() {
    log_debug "Nettoyage des anciens logs (> 30 jours)"
    find "$LOG_DIR" -name "*.log" -type f -mtime +30 -delete 2>/dev/null
}

# Gestion des erreurs et interruptions
trap 'log_error "Script interrompu par signal"; exit 130' INT TERM

# Début du script
log_info "=== DÉBUT DE LA SAUVEGARDE ==="
log_debug "Répertoire des logs: $LOG_DIR"
log_debug "Mode debug: $DEBUG_MODE"

# Nettoyage des anciens logs
cleanup_old_logs

###Paramètres
MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
date=$(date +%F_%Hh%M)

log_info "Configuration:"
log_info "  - Point de montage: $MountPoint"
log_info "  - UUID partition: $PartitionUID"
log_info "  - Date: $date"
log_debug "Utilisateur: $USER"

###controle validité disque solution#125 Watael
log_info "Vérification du disque externe..."
ctrlID=$(findmnt -n --output UUID $MountPoint) ### controle si le disque est monté
log_debug "UUID trouvé: '$ctrlID'"
log_debug "UUID attendu: '$PartitionUID'"

#controle validité disque ancienne version
if [[ "$ctrlID" != "$PartitionUID" ]]
then
    log_error "Disque non reconnu ou éteint"
    log_error "UUID trouvé: '$ctrlID'"
    log_error "UUID attendu: '$PartitionUID'"

    echo échec
    echo "ctrlID" $ctrlID
    echo "partition"$PartitionUID
    kdialog --error "Aucun disque reconnu ou disque éteint \n ALLUMER LE DISQUE EXTERNE \n AVANT de sélectionner «OK»"

    log_info "Attente du montage du disque..."
    sleep 5

    # conditions de détection disque non monté (ctrlID vide)
    attempt=1
    while [[ "$ctrlID" != "$PartitionUID" ]]
    do
        log_debug "Tentative $attempt - Vérification du montage..."
        sleep 2
        #si le montage est reconnu mettre ctrlID à la bonne valeur
        ctrlID=$(findmnt -n --output UUID $MountPoint)
        sleep 2
        log_debug "Ligne $LINENO"
        echo "ctrlID" $ctrlID
        echo "partition" $PartitionUID
        log_debug "UUID vérifié: '$ctrlID'"
        sleep 2
        ((attempt++))

        if [ $attempt -gt 60 ]; then
            log_error "Timeout: Disque non monté après 60 tentatives"
            kdialog --error "Timeout: Impossible de détecter le disque"
            exit 1
        fi
    done
    log_info "Disque monté avec succès après $attempt tentatives"
else
    log_info "Disque correctement monté"
    echo réussite
    echo "ctrlID" $ctrlID
    echo "partition" $PartitionUID
    kdialog --error " le disque est monté \n la sauvegarde peut être faite maintenant "
fi

### choix des sauvegardes
log_info "Affichage de la boîte de dialogue de sélection..."
resultats=$(kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde DocumentsCommuns" off 16 "Sauvegarde DocumentsEricFanou" off)

if [ $? -ne 0 ]; then
    log_warning "Utilisateur a annulé la sélection"
    exit 0
fi

log_info "Sélections utilisateur: $resultats"
backup_count=0
successful_backups=0
failed_backups=0

for i in $resultats
###choix façon Watael
do
    backup_count=$((backup_count + 1))
    log_info "=== TRAITEMENT SAUVEGARDE $backup_count ==="
    log_debug "Valeur sélectionnée: $i"

    case $i in
        1)
            log_info "Sauvegarde Photos sélectionnée"
            echo Photos
            user=Multimedias
            ip=192.168.1.128
            src=/home/Multimedias/MultimediasCommuns/Photos
            dst=/media/kubu/JEUX8T/SAUVEGARDES/
            bkp=incremental-Photos/$date/
            backup_name="Photos"
            ;;
        2)
            log_info "Sauvegarde Images sélectionnée"
            echo Images
            user=Multimedias
            ip=192.168.1.128
            src=/home/Multimedias/MultimediasCommuns/Images
            dst=/media/kubu/JEUX8T/SAUVEGARDES/
            bkp=incremental-Images/$date/
            backup_name="Images"
            ;;
        4)
            log_info "Sauvegarde Musiques sélectionnée"
            echo Musiques
            user=Multimedias
            ip=192.168.1.128
            src=/home/Multimedias/MultimediasCommuns/Musiques
            dst=/media/kubu/JEUX8T/SAUVEGARDES/
            bkp=incremental-Musiques/$date/
            backup_name="Musiques"
            ;;
        8)
            log_info "Sauvegarde DocumentsCommuns sélectionnée"
            echo DocumentsCommuns
            user=Multimedias
            ip=192.168.1.128
            src=/home/Multimedias/DocumentsPartages
            dst=/media/kubu/JEUX8T/SAUVEGARDES/SauvegardesDocumentsCommuns/
            bkp=incremental-DocumentsPartages/$date/
            backup_name="DocumentsCommuns"
            ;;
        16)
            log_info "Sauvegarde DocumentsEricFanou sélectionnée"
            echo DocumentsEricFanou

            # Première partie - sauvegarde locale
            log_debug "Sauvegarde locale Documents kubu"
            if rsync --progress -a -v --delete-after /home/kubu/Documents/ /home/kubu/VMSauvegardesDocuments/ --backup --backup-dir="incremental-DocumentsEric/$date/" >> "$LOG_FILE" 2>> "$ERROR_FILE"; then
                log_info "Sauvegarde locale Documents kubu réussie"
            else
                log_error "Échec sauvegarde locale Documents kubu"
            fi

            user=fanou
            ip=192.168.1.60
            src=/home/fanou/Documents
            dst=/home/kubu/VMSauvegardesDocuments/VMSauvegardesDocumentsFanou/
            bkp=incremental-DocumentsFanou/$date/
            backup_name="DocumentsEricFanou"
            ;;
        *)
            log_warning "Valeur inconnue ignorée: $i"
            continue
            ;;
    esac

    log_info "Configuration sauvegarde $backup_name:"
    log_info "  - Source: $user@$ip:$src"
    log_info "  - Destination: $dst"
    log_info "  - Répertoire de sauvegarde: $bkp"

    # Test SSH avant rsync pour les sauvegardes distantes
    if [ "$i" != "16" ] || [ "$backup_name" == "DocumentsEricFanou" ]; then
        log_debug "Test de connexion SSH vers $user@$ip..."
        if timeout 10 ssh -o ConnectTimeout=5 -o BatchMode=yes "$user@$ip" exit 2>/dev/null; then
            log_info "Connexion SSH vers $user@$ip: OK"
        else
            log_error "Connexion SSH vers $user@$ip: ÉCHEC"
            failed_backups=$((failed_backups + 1))
            continue
        fi
    fi

    # Vérification de l'existence du répertoire de destination
    if [ ! -d "$dst" ]; then
        log_warning "Répertoire destination n'existe pas: $dst"
        log_info "Tentative de création..."
        if mkdir -p "$dst" 2>> "$ERROR_FILE"; then
            log_info "Répertoire créé avec succès: $dst"
        else
            log_error "Impossible de créer le répertoire: $dst"
            failed_backups=$((failed_backups + 1))
            continue
        fi
    fi

    kdialog --passivepopup "Sauvegarde $backup_name en cours..." 10 &
    popup_pid=$!

    log_info "Début de la sauvegarde $backup_name..."
    start_time=$(date +%s)

    # Exécution de rsync avec capture des logs
    if rsync --progress -a -v --delete-after -e ssh $user@$ip:"$src" "$dst" --backup --backup-dir="$bkp" >> "$LOG_FILE" 2>> "$ERROR_FILE"; then
        end_time=$(date +%s)
        duration=$((end_time - start_time))
        log_info "Sauvegarde $backup_name réussie en ${duration}s"
        successful_backups=$((successful_backups + 1))
    else
        end_time=$(date +%s)
        duration=$((end_time - start_time))
        log_error "Échec sauvegarde $backup_name après ${duration}s"
        failed_backups=$((failed_backups + 1))
    fi
done

# Résumé final
log_info "=== RÉSUMÉ FINAL ==="
log_info "Sauvegardes traitées: $backup_count"
log_info "Réussites: $successful_backups"
log_info "Échecs: $failed_backups"

if [ $failed_backups -eq 0 ]; then
    log_info "Toutes les sauvegardes ont réussi !"
    kdialog --msgbox "FIN des sauvegardes $resultats - TOUTES RÉUSSIES !"
else
    log_warning "Certaines sauvegardes ont échoué. Consultez les logs."
    kdialog --msgbox "FIN des sauvegardes $resultats - $failed_backups échec(s) détecté(s)\nConsultez les logs: $LOG_FILE"
fi

log_info "=== FIN DE LA SAUVEGARDE ==="
log_info "Logs disponibles dans: $LOG_DIR"
  

Dernière modification par eric63 (Aujourd'hui à 15:13)


Kubuntu 25.04 wayland Plasma 6.3.4 KDE Qt 6.12.0 noyau 6.14.0-15 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR

Hors ligne