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.

#76 Le 10/06/2025, à 09:40

geole

Re : script d’automatisation sauvegardes

Bonjour
Publie

grep -v "#" /etc/systemd/system/Sauvegarde@.service
grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh

et fais l’essai en éteignant  puis allumant le disque externe pour déclenchement automatique


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

En ligne

#77 Le 10/06/2025, à 13:45

eric63

Re : script d’automatisation sauvegardes

je fais les 2 commandes disque allumé; puis éteint ;puis rallumé et monté automatiquement

kubu@kubu-System-Product-Name:~$ grep -v "#" /etc/systemd/system/Sauvegarde@.service


[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
kubu@kubu-System-Product-Name:~$ grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh













sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause











MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint)
nbs=30
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else  echo "Disque externe reconnu" ; echo $Cause ; kdialog  --title "Disque externe conforme" --msgbox "ce popup disparaîtra dans "$nbs" secondes \n et votre sauvegarde pourra démarrer " $nbs ;fi
dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 sleep 1
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 qdbus6 $dbusRef Set "" "value" $inc;
done;
qdbus $dbusRef setAutoClose true;
qdbus6 $dbusRef  close > /dev/null;
qdbus setAutoClose true;
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause ; fi

kubu@kubu-System-Product-Name:~$ 

disque éteint

kubu@kubu-System-Product-Name:~$ grep -v "#" /etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
kubu@kubu-System-Product-Name:~$ grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh













sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause











MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint)
nbs=30
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else  echo "Disque externe reconnu" ; echo $Cause ; kdialog  --title "Disque externe conforme" --msgbox "ce popup disparaîtra dans "$nbs" secondes \n et votre sauvegarde pourra démarrer " $nbs ;fi
dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 sleep 1
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 qdbus6 $dbusRef Set "" "value" $inc;
done;
qdbus $dbusRef setAutoClose true;
qdbus6 $dbusRef  close > /dev/null;
qdbus setAutoClose true;
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause ; fi

disque rallumé et monté automatiquement

kubu@kubu-System-Product-Name:~$ grep -v "#" /etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
kubu@kubu-System-Product-Name:~$ grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh













sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause











MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint)
nbs=30
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else  echo "Disque externe reconnu" ; echo $Cause ; kdialog  --title "Disque externe conforme" --msgbox "ce popup disparaîtra dans "$nbs" secondes \n et votre sauvegarde pourra démarrer " $nbs ;fi
dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 sleep 1
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 qdbus6 $dbusRef Set "" "value" $inc;
done;
qdbus $dbusRef setAutoClose true;
qdbus6 $dbusRef  close > /dev/null;
qdbus setAutoClose true;
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause ; fi

kubu@kubu-System-Product-Name:~$ 

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

#78 Le 10/06/2025, à 14:21

geole

Re : script d’automatisation sauvegardes

J’ai l’impression que le fichier contenant le script ne contient pas de commandes.
Redonne seulement

grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh

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

En ligne

#79 Le 10/06/2025, à 14:33

eric63

Re : script d’automatisation sauvegardes

grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh

kubu@kubu-System-Product-Name:~$ grep -v "#" /home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh













sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause











MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint)
nbs=30
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else  echo "Disque externe reconnu" ; echo $Cause ; kdialog  --title "Disque externe conforme" --msgbox "ce popup disparaîtra dans "$nbs" secondes \n et votre sauvegarde pourra démarrer " $nbs ;fi
dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 sleep 1
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 qdbus6 $dbusRef Set "" "value" $inc;
done;

kdialog --error "le disque est monté \n la sauvegarde peut être faite maintenant ";
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause ; fi

kubu@kubu-System-Product-Name:~$ 

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

#80 Le 10/06/2025, à 15:02

geole

Re : script d’automatisation sauvegardes

C est un peu du n importe quoi
La première ligne devrait être

#!/usr/bin/bash

puis ensuite on devrait avoir uniquememt

MountPoint="/media/$USER/JEUX8T"
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
ctrlID=$(findmnt -n --output UUID $MountPoint)
nbs=30
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else  echo "Disque externe reconnu" ; echo $Cause ; kdialog  --title "Disque externe conforme" --msgbox "ce popup disparaîtra dans "$nbs" secondes \n et votre sauvegarde pourra démarrer " $nbs ;fi
dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 sleep 1
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 qdbus6 $dbusRef Set "" "value" $inc;
done;

kdialog --error "le disque est monté \n la sauvegarde peut être faite maintenant ";
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause

####Avec les tests de réponse voir echange N°54

 fi
#### Puis les commandes des sauvegardes   voir aussi échange 54

En revanche, je ne vois pourquoi $Cause ne contient pas Branchement lorsque le script est lancé automatiquement par la mise sous tension du disque.

Dernière modification par geole (Le 10/06/2025, à 15:17)


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

En ligne

#81 Le 10/06/2025, à 15:21

eric63

Re : script d’automatisation sauvegardes

#!/usr/bin/bash

est bien inscrit en première ligne pourtant
extrait du début du fichier ScriptSauvegarde.sh

#!/usr/bin/bash
###allumage 8T home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
###penser à changer le nom du fichier script geole en ScriptSauvegarde.sh
###vérifier si chemin soit home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh au lieu de  Sauvegarde.sh dans ce script
### remplacer Sauvegarde.sh par ScriptSauvegarde.sh
#************************************************************************************************************************************************************************
### CONVENTIONS
#       1 dièze ligne de commande manuelle (ligne par ligne)
##      2 retour de la ligne de commande
###     3 dièze commentaires ou sous-titre d’un bloc de commande
####    4 dièze Titre de l’étape
#####   0 dièze Ligne de commande automatique du ScriptSauvegarde.sh

#*****************************************************************
###Lorsque vous faites les commandes ligne par ligne le terminal doit rester ouvert sinon les variables seront PERDUES et devront être recrées au préalable
#*****************************************************************

### PRÉALABLES (les commandes ne devraient être formulés manuellement qu‘une fois pour reconnaissance des divers préalables et ne seront plus nécessaire une fois établis)
### il faut que le disque soit allumé et monté et que les points de montage Vm et Sauvegardes soit identifiés et montés
### pour les points de montage voir le fichier /home/kubu/Documents/PartagesEtSauvegardes/PointDeMontageVMultimedias
### pour le montage du disque: Ce fichier démarrera automatiquement à l’allumage de la session (voir config système/démarrage automatique) si le disque est déjà allumé avant le PC
###il peut y avoir plusieurs entrées à valider suivant la position de la partition (ici 3 cas possibles: sdb sdc sdd)
###-cas1 sdb lorsque le disque est allumé avant l’allumage du pc (système/***-disque**-/home séparé*)
###-cas2 sdc lorsque le disque est allumé après l’allumage du pc et de la session (système/***/home séparé**-disque*)

###-cas3 sdd lorsque le disque est allumé après l’allumage du pc et de la session (système/***/home séparé**-disque* deconnexion reconnection disque)
### et l’accès au fichier de montage sera nécessaire si l’allumage du disque se fait après l’ouverture de la session voir 6)

####1) Récupérer manuellement ligne par ligne les caractéristiques  du disque.(suivant allumage disque avant ou aprés allumage Pc la partition peut différée)

###les espaces dans les noms sont significatifs ne pas les oublier
#udevadm info -a -p /sys/block/sdb ou sdc ou sdd  | grep -E "manufacturer|product|serial"

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

#82 Le 10/06/2025, à 15:28

geole

Re : script d’automatisation sauvegardes

Bien entendu, tu peux laisser les commentaires.
Mon attention est juste pour les exécutables. Je ne comprend pas pourquoi tu as mis cela dans ce fichier

sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause

A mon avis, tu devrais créer un fichier xxxx.txt  ou xxxx.doc qui découpe bien tout.

Dernière modification par geole (Le 10/06/2025, à 15:29)


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

En ligne

#83 Le 10/06/2025, à 15:31

iznobe

Re : script d’automatisation sauvegardes

Bonjour , ton fichier sauvegarde.sh ne devrait absolument pas contenir tout ça :

sudo udevadm control --reload


sudo bash -c 'cat  <<EOF>/etc/systemd/system/Sauvegarde@.service

[Unit]
Description=Service de sauvegarde dans un disque externe.
DefaultDependencies=no
[Service]
Type=simple
Environment="DISQUE=%I"
Environment="UTILISATEUR=kubu"
Environment="Cause=Branchement"
TimeoutSec=123minutes
ExecStartPre=echo La sauvegarde va se réaliser.
ExecStartPre=sleep 30
ExecStart=/home/kubu/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh
ExecStopPost=echo La sauvegarde est terminée.
EOF'
sleep 1
echo $Cause
systemctl daemon-reload
echo $Cause

Ni tout les commentaires d ' ailleurs ... les commentaires , théoriquement , sont réservés a expliquer le code , pas a faire un tuto , c' est imbuvable ton fichier comme ça .
fais toi un fichier txt à part pour ton tuto si besoin .

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


retour COMPLET et utilisable de commande  |  script montage partitions

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

En ligne

#84 Le 10/06/2025, à 16:05

eric63

Re : script d’automatisation sauvegardes

ce fichier me sert en même temps de tuto pour avoir tout au même endroit:
les commandes les commentaires les blocs
mais je vois que c’est une mauvaise idée
je vais séparer ça en 2:
les commandes  avec un peu de commentaires pour m’y retrouver et mon tuto qui contiendra tout
donc maintenant le fichier ScriptSauvegarde.sh contient

#!/usr/bin/bash



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

###script iznobe de remplacement (plus simple)
### modifier les 2 premières variables du script
MountPoint="/media/$USER/JEUX8T"
### pour vérifier si la variable est correcte
#kubu@kubu-System-Product-Name:~$ echo $MountPoint
##/media/kubu/JEUX8T
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
#kubu@kubu-System-Product-Name:~$ echo $PartitionUID
##35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
ctrlID=$(findmnt -n --output UUID $MountPoint)
#kubu@kubu-System-Product-Name:~$ echo $ctrlID
##35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
### reglage délai d’attente en secondes avant sauvegarde
nbs=30
###controle validité disque
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "La partition n'est pas montée"; kdialog --error "Aucun disque reconnu ou disque éteint \n Allumez le disque dur externe \n ou veuillez vérifier les UID dans le fichier de script de démarrage" ;echo $Cause ;
else dbusRef=`kdialog --progressbar "Attendre 30 secondes" 30`;
qdbus6 $dbusRef showCancelButton true;
until test "true" = `qdbus6 $dbusRef wasCancelled`; do;
 sleep 1;
 inc=$((`qdbus6 $dbusRef Get "" "value"` + 1));
 qdbus6 $dbusRef Set "" "value" $inc;
done ; fi

###barre de progression essai1
##qdbus6 $dbusRef showCancelButton true
#until test "true" = `qdbus6 $dbusRef wasCancelled`; do
 #sleep 1
 #inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
 #qdbus6 $dbusRef Set "" "value" $inc;
#done;

kdialog --msgbox "le disque est monté \n la sauvegarde peut être faite maintenant ";
#qdbus $dbusRef setAutoClose true;
#qdbus6 $dbusRef  close > /dev/null;
#qdbus setAutoClose true;
#essai2
#progress=$(kdialog --progressbar "Attendre 30 secondes" 30);
#qdbus $dbusRef showCancelButton true;
#qdbus $progress Définir "" valeur 1 > /dev/null ;
#sleep 1;
#qdbus $progress Définir la valeur "" 3 > /dev/null ;
#sleep 1;
#qdbus setAutoClose true;
### Faisons en sorte que ce script puisse être utilisé à la connexion du disque ou par des sauvegardes déclenchées par des timer.
if [[ $Cause = "Branchement" ]];then kdialog --separate-output --checklist "Selection liste:"  1 "Sauvegarde Photos" on 2 "Sauvegarde Images" on 4 "Sauvegarde Musiques" on 8 "Sauvegarde Documents" off; echo $Cause ; fi

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


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

#85 Le 10/06/2025, à 16:10

iznobe

Re : script d’automatisation sauvegardes

je pense que c' est preferable .
D' ailleurs , tu devrais mettre tous tes " tutos " sur la VM et les sauvegarder , c' est ce que je fais pour ne jamais avoir retravailler un truc important et perdre un minimum de temps .
ce sont des fichiers importants l' air de rien wink


retour COMPLET et utilisable de commande  |  script montage partitions

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

En ligne

#86 Le 10/06/2025, à 16:25

Watael

Re : script d’automatisation sauvegardes

dis-moi geole, peux-tu nous rappeler pourquoi recourir à un service ? udev ne peut pas lancer le script directement ?


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

Hors ligne

#87 Le 10/06/2025, à 17:04

geole

Re : script d’automatisation sauvegardes

Bonjour Watael
Je ne sais plus où j'avais vu la remarque disant que si on lance un programme, il ne doit pas durer longtemps  pour réaliser ce qu'il doit faire sinon il y a blocage dans les allocations des supports physiques.   Comme une sauvegarde peut durer un certain temps, je n'ai pas essayé de vérifier.
J'ai donc pris une solution conseillée . Je ne sais plus où je l'avais trouvée.
En tout cas, on retrouve la même remarque au paragraphe 4.2 de ce document
J'ai peut-être mal compris.


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

En ligne

#88 Le 10/06/2025, à 17:45

Watael

Re : script d’automatisation sauvegardes

pourtant

udev traite des événements distincts simultanément (en parallèle),[...]

ah, ok!

4.11 Démarrer des processus à long terme

Les programmes lancés par udev bloqueront les autres événements provenant de ce périphérique, et toutes les tâches créées à partir d'une règle udev seront tuées une fois le traitement des événements terminé.
Si vous devez lancer un processus à long terme avec udev, vous pouvez utiliser at. (par exemple, your_command | at now, ou batch), ou créer une unité systemd qui peut être déclenchée directement depuis une règle udev.

ce qu'il faut retenir, c'est « Les programmes lancés par udev bloqueront les autres événements provenant de ce périphérique »; les autres périphériques ne seront pas bloqués ( « udev traite des événements distincts simultanément  » ).
peut-il y avoir d'autres évènements provenant de ce périphérique pendant la sauvegarde ? Dans le doute, oui, il vaut mieux suivre cette préconisation : passer par un service. smile

Dernière modification par Watael (Le 10/06/2025, à 17:46)


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

Hors ligne

#89 Le 11/06/2025, à 19:32

cqfd93

Re : script d’automatisation sauvegardes

[HS]eric63 : est-ce que tu as reçu une notification pour ce message ?[/HS]


cqfd93

Hors ligne

#90 Le 11/06/2025, à 19:48

iznobe

Re : script d’automatisation sauvegardes

Mais c' est quoi ces modérateurs ( rices ) qui floodent le même message sur plein de posts  ???

C' est intolérable et de l' abus de pouvoir tongue tongue


retour COMPLET et utilisable de commande  |  script montage partitions

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

En ligne

#91 Le 11/06/2025, à 21:47

cqfd93

Re : script d’automatisation sauvegardes

Ça meuble, le forum est trop silencieux wink

Plus sérieusement, c'est pour faire suite à cette discussion https://forum.ubuntu-fr.org/viewtopic.php?id=2091497.


cqfd93

Hors ligne

#92 Le 11/06/2025, à 21:53

iznobe

Re : script d’automatisation sauvegardes

oui , j 'ai suivi la demande de eric63 en rapport des mails . c' était juste pour mettre un peu d ' ambiance et de dérision wink


retour COMPLET et utilisable de commande  |  script montage partitions

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

En ligne

#93 Le 11/06/2025, à 23:22

cqfd93

Re : script d’automatisation sauvegardes

J'avais bien compris smile


cqfd93

Hors ligne

#94 Aujourd'hui à 09:18

eric63

Re : script d’automatisation sauvegardes

bon je suis pas entièrement satisfait de ce que j’ai construis car j’ai un problème que je n’arrive pas à résoudre par rapport au disque externe 8T:
suivant le moment auquel  j’allume le disque: avant ou après la connection à ma session les commandes ne sont pas les mêmes
1 - si j’allume le disque avant de démarrer le Pc c’est ok je passe de la ligne 25 à 40
2 -  mais si j’allume le disque après avoir ouvert ma session les choses se passe mal (sans doute que j’ai écrit ça n’importe comment hmm )
il faut que j’attende les 30 s pour que le montage soit effectif (l’allumage du disque démarre automatiquement le montage des dossiers de la VM et et des sauvegardes)

je ne sais pas comment contrôler cela ?? pour être sûr que les dossiers du 8T soient accessibles et commence le choix des sauvegardes après la reconnaissance  ce qui pourrait m’éviter de faire des trucs compliqués de tempo qui servent pas à grand chose puisque qu’on peut les annuler n’importe quand

il me semble que la commande

 if [[ "$ctrlID" = "$PartitionUID" ]]

contrôle juste? si le disque est allumé mais pas forcément monté puisque le montage est effectif environ 30 s après l’allumage 

est ce que je dois avoir une variable supplémentaire pour valider les dossiers du 8T ??

le script ne tient pas compte encore des sauvegardes automatiques
et à la fin du script j’ai 2 choix commentés de la commande rsync qui sera appliqué sur chaque dossier choisi l’un à la suite de l’autre
la commande

rsync --progress  -a -v --delete-after   -e   ssh Multimedias@192.168.1.128:/home/Multimedias/MultimediasCommuns/  /media/kubu/JEUX8T/SAUVEGARDES  --backup --backup-dir=incremental/$(date +%F_%Hh%M)/

à ma préférence.
Est ce que cela pose problème pour le dossier incrémental qui pourrait se retrouver à plusieurs endroits ?? suivant les choix de sauvegardes que j’utilise ??   

#!/usr/bin/bash



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

###script iznobe de remplacement (plus simple)
### modifier les 2 premières variables du script
MountPoint="/media/$USER/JEUX8T"
### pour vérifier si la variable est correcte
#kubu@kubu-System-Product-Name:~$ echo $MountPoint
##/media/kubu/JEUX8T
PartitionUID="35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa"
#kubu@kubu-System-Product-Name:~$ echo $PartitionUID
##35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
ctrlID=$(findmnt -n --output UUID $MountPoint)
#kubu@kubu-System-Product-Name:~$ echo $ctrlID
##35bb9ca2-2022-4dfa-a201-1a2dde7ce1aa
### reglage délai d’attente en secondes avant sauvegarde


attente=30

###controle validité disque
if [[ "$ctrlID" != "$PartitionUID" ]] ;then echo "ligne25" echo "ctrlID" $ctrlID ;echo "partition"$PartitionUID ; echo "attente" $attente
kdialog --inputbox 'Mettre un temps d’attente 30 par défaut' $attente --title 'temps d’attente'
echo "attente" $attente echo "ligne27"
echo "La partition n'est pas montée"; echo "ligne28" ; kdialog --error "Aucun disque reconnu ou disque éteint \n ALLUMER LE DISQUE EXTERNE \n AVANT de sélectionner «OK»"
#ouverture fichier ScriptSauvegarde.sh
kdialog --getopenfilename ~/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh ;
# ou veuillez vérifier les UID dans le fichier de script de démarrage \n et relancer le script"
#barre de progression
dbusRef=`kdialog --progressbar "Allumer le Disque Externe \n avant de sélectionner «Annuler» \n Attendre "$attente" secondes \n afin que le montage du disque soit validé" attente`
echo "ligne34" ; sleep $attente
qdbus6 $dbusRef showCancelButton true
until test "true" = `qdbus6 $dbusRef wasCancelled` ; do
sleep 1 ; inc=$((`qdbus6 $dbusRef Get "" "value"` + 1))
qdbus6 $dbusRef Set "" "value" $inc
done ; kdialog --getopenfilename ~/Documents/PartagesEtSauvegardes/ScriptSauvegarde.sh ;echo "ligne39" ;
else  echo "ligne40" ; kdialog --error "le disque est monté \n la sauvegarde peut être faite maintenant " ;fi
echo "ligne41" ;echo "ctrlID" $ctrlID ;echo "partition"$PartitionUID ; echo "attente" $attente
#montage des points de montage VM (cas de l’allumage disque après l’ouverture session)
/home/kubu/Documents/PartagesEtSauvegardes/PointDeMontageVMultimedias.sh
echo "ligne44"
### Faisons en sorte que ce script puisse être utilisé à la connexion du disque ou par des sauvegardes déclenchées par des timer.
if [[ "$ctrlID" = "$PartitionUID" ]] then 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); echo $resultats;

#tests
if [[ $resultats =~ "" ]]; then echo la réponse est vide.;Photos=1;fi
if [[ $resultats =~ "1" ]]; then echo la réponse contient 1.;Photos=1;fi
if [[ $resultats  =~ "2" ]]; then echo la réponse contient 2.;Images=1;fi
if [[ $resultats  =~ "4" ]]; then echo la réponse contient 4.;Musique=1;fi
if [[ $resultats  =~ "8" ]]; then echo la réponse contient 8.;DocumentsCommuns=1;fi
if [[ $resultats  =~ "16" ]]; then echo la réponse contient 16.;DocumentsEricFanou=1;fi
 #traitements
 Passage=$(date +"-%Y-%m-%d-%H-%M-%S")
## test d'exécution sources --> destinations
#if test "$Photos" != ""  ; then echo $Photos
    #Verif; echo sauvegardons les Photos  rsync /xxxxxxxxx/Photos/* $MountPointmedia//$UTILISATEUR/Photos
    # commande originelle 
    #rsync --progress  -a -v --delete-after   -e   ssh Multimedias@192.168.1.128:/home/Multimedias/MultimediasCommuns/  /media/kubu/JEUX8T/SAUVEGARDES  --backup --backup-dir=incremental/$(date +%F_%Hh%M)/
#rsync /home/kubu/VMMultimedias/VMMultimediasCommuns/Photos/* $MountPoint/SAUVEGARDES/Photos>>/tmp/Sauvegarde-erreurs$Passage.txt ]
echo "Passage" $Passage
fi

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

#95 Aujourd'hui à 10:27

iznobe

Re : script d’automatisation sauvegardes

il me semble que la commande

 if [[ "$ctrlID" = "$PartitionUID" ]]

contrôle juste? si le disque est allumé mais pas forcément monté

PartitionUID , est une constante que l' on renseigne dans le script .
Mais ctrlID est une variable definie comme suit dans le script :

ctrlID=$(findmnt -n --output UUID $MountPoint)

et la commande " findmount " , est utilisée ( comme son nom l ' indique ) pour trouver un montage .
un montage n ' existe que si il est monté ...

Par contre , le service de @geole ASmedia machin truc , je ne suis pas certain qu ' il controle que le montage soit bien effectué . Je n' ai pas regarder en detail en vrai .

MAissi le service tente de se lancé et que ctrlID != PartitionUID , ca ne devrait pas poursuivre . et si tu as bien codé , tu devrais renvoyer une erreur dans ce cas , et un " exit " pour sortir si necessaire du script .

Dernière modification par iznobe (Aujourd'hui à 10:31)


retour COMPLET et utilisable de commande  |  script montage partitions

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

En ligne

#96 Aujourd'hui à 10:49

geole

Re : script d’automatisation sauvegardes

Bonjour
Réponses rapides
Pour le premier cas, tu n'es pas à trente  secondes près!!!!
   - Soit dans la séquence du script qui contrôle le montage automatique, tu   ajoutes une commande de sommeil de  trente secondes
  - Soit, ce qui me semble plus normal,  Dans le service de démarrage, tu ajoutes  une attente de trente secondes avant le lancement du script.  Mon exemple était de 15 secondes.


Pour le second cas, Je n'ai peut-être pas très bien compris
Tes quatre sauvegardes vont être dans le même type de répertoire /media/kubu/JEUX8T/SAUVEGARDES/incremental-aa-mm-jj-dd-hh-mn
A mon avis, il serait mieux que tu fasses 4 répertoirres avec les noms des répertoires sauvegardés.
De mémoire
--backup-dir=incremental-Documents/$(date +%F_%Hh%M)/
--backup-dir=incremental-Images/$(date +%F_%Hh%M)/
--backup-dir=incremental-Musique/$(date +%F_%Hh%M)/
--backup-dir=incremental-Photos/$(date +%F_%Hh%M)/

Nota. personnellement,  je n'ai pas choisi    un nom de répertoire  daté. J'ai choisi de dater les fichiers afin de visualiser directement toutes les modifications  d'un même fichier facilement. Car, a mon avis ces répertoires servent uniquement à  retrouver des vieilles versions de fichiers.


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

En ligne