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.

#26 Le 15/02/2024, à 22:56

geole

Re : Utilisation des services pour sauvegarder le contenu du home

Je croyais que c'était  encadré à cet endroit. ( trop d'encadrement peut ne pas être mieux )
BK=$Suppression"$Dir"
Je n'ai pas encore bien regardé le dernier problème traitant des fichiers. A priori, cela serait conceptuel.

Dernière modification par geole (Le 15/02/2024, à 22:59)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#27 Le 15/02/2024, à 23:34

Watael

Re : Utilisation des services pour sauvegarder le contenu du home

soshi a écrit :

- on veut volontairement faire une boucle for sur chaque élément d'une variable dont chaque élément est séparé par un espace

je voudrais bien voir ça, parce que dit comme ça, je ne vois pas. smile

@geole :

BK="$Suppression$Dir"

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

En ligne

#28 Le 16/02/2024, à 00:00

geole

Re : Utilisation des services pour sauvegarder le contenu du home

C'est quand même dommage qu'au bout de plus de 50 ans  d'existance du concept  variable, l'utilisateur doive encore l'encadrer pour traiter un problème d'espace dans la variable.

Ma rectification fut "BK"
Je regarderais demain ta proposition  d'encadrement total au lieu de partiel.

Dernière modification par geole (Le 16/02/2024, à 00:02)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#29 Le 16/02/2024, à 00:04

soshy

Re : Utilisation des services pour sauvegarder le contenu du home

Watael a écrit :

je voudrais bien voir ça, parce que dit comme ça, je ne vois pas.

C'était peut être mal exprimé, mais l'idée c'était

var='a #b c d $12' ; for i in $var ; do echo $i ; done

Et à la reflexion, c'était plus dans l'idée d'exception à la règle de l'encadrement, ici il ne faut pas mettre $var entre guillemets ni simple, ni doubles.


------

geole a écrit :

C'est quand même dommage qu'au bout de plus de 50 ans  d'existance du concept  variable, l'utilisateur doive encore l'encadrer pour traiter un problème d'espace dans la variable.

Ça s'appelle conserver la compatibilité ascendante. Tes scripts d'il y a 50ans fonctionnent encore. D'autres préfèrent dire que les défauts de conception sont conservés smile

Dernière modification par soshy (Le 16/02/2024, à 00:10)

Hors ligne

#30 Le 16/02/2024, à 00:19

Watael

Re : Utilisation des services pour sauvegarder le contenu du home

soshi a écrit :

Et à la reflexion, c'était plus dans l'idée d'exception à la règle de l'encadrement, ici il ne faut pas mettre $var entre guillemets ni simple, ni doubles.

ok wink

PS:
$12 n'existe pas; ce sera $1 concaténé à un 2.
le douzième paramètre positionnel, ce sera ${12}


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

En ligne

#31 Le 16/02/2024, à 00:21

soshy

Re : Utilisation des services pour sauvegarder le contenu du home

non, dans le cas donné ça sera la chaine de caractère $12 (à cause des simple quote justement). C'était vraiment juste des chaines de caractères random, faut pas chercher plus loin^^

Dernière modification par soshy (Le 16/02/2024, à 00:22)

Hors ligne

#32 Le 16/02/2024, à 19:00

geole

Re : Utilisation des services pour sauvegarder le contenu du home

Bonjour à tous.
Quelques retours

Pour les guillemets. Ils semblent inutiles  lorsqu'il n'y a pas d'espace prévus dans les noms. Il peut y avoir des caractères accentués.

Suppression=/media/Savhome
Dir=/home/a/Vidéos ; BK=$Suppression$Dir ;
ls $BK
'z z'

Le fichier présent dans le répertoire est bien listé.


Dir=/home/a/"Suivi Rsync" ; BK=$Suppression$Dir ;
ls $BK
ls: impossible d'accéder à '/media/Savhome/home/a/Suivi': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à 'Rsync': Aucun fichier ou dossier de ce type

ls "$BK"
'Passage Rsync.txt'
 

On voit que la variable de la commande et celle définissant le fichier doivent être entre-guillemets. Mais que la variable intermédiaire y  échappe. Il n'y a bien qu'un fichier à lister.


Dir=/home/a/Suivi Rsync ; BK=$Suppression$Dir ;
ls "$BK"
La commande « Rsync » n'a pas été trouvée, voulez-vous dire :
...
Voir « snap info <nomdusnap> » pour des versions supplémentaires.

a@p:~$ Dir=/home/a/Suivi Rsync ; BK="$Suppression$Dir" ;
ls "$BK"
La commande « Rsync » n'a pas été trouvée, voulez-vous dire :
...
Voir « snap info <nomdusnap> » pour des versions supplémentaires.
'z z'
a@p:~$

Si la variable définissant  le fichier n'est pas entre-guillemet, elle est  interprétée comme un répertoire ( D'où le fichier listé)         et une  commande!!!

a@p:~$ Dir=/home/a/"Suivi Rsync" ; BK="$Suppression$Dir" ;
ls $BK
ls: impossible d'accéder à '/media/Savhome/home/a/Suivi': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à 'Rsync': Aucun fichier ou dossier de ce type
a@p:~$ 

ls "$BK"
a@p:~$ ls "$BK"
'Passage Rsync.txt'
a@p:~$ 
 ..........
Dir=/home/a/"Suivi Rsync" ; BK=$Suppression"$Dir" ;
ls $BK
ls: impossible d'accéder à '/media/Savhome/home/a/Suivi': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à 'Rsync': Aucun fichier ou dossier de ce type
a@p:~$

a@p:~$ ls "$BK"
'Passage Rsync.txt'

Bien qu'inutile, on peut mettre des guillemets  entourant la seconde variable ou les deux variables  transportées par BK=


mets ça au début de ton script
Le problème à traiter  n'était pas  l'enchainement des commandes mais  le paramétrage de la commande rsync

cat>Debug.sh<<EOF
#!/bin/bash
exec 5> debug_output.txt
BASH_XTRACEFD="5"
PS4='\$LINENO: '
set -x
Sortie=/media/Savhome; Suppression=/media/Savhome
Dir="/home/a/Suivi Rsync" ; BK=\$Suppression\$Dir ;
rsync   -ab  --suffix=".OLD$(date +"-%y%m%d")" --backup-dir=$BK  --stats  --delete      "$Dir/"      "$Sortie$Dir"   1>T; grep "created files" T 
EOF
sleep 1
chmod +x Debug.sh
cat -n Debug.sh
./Debug.sh
cat debug_output.txt

     1	#!/bin/bash
     2	exec 5> debug_output.txt
     3	BASH_XTRACEFD="5"
     4	PS4='$LINENO: '
     5	set -x
     6	Sortie=/media/Savhome; Suppression=/media/Savhome
     7	Dir="/home/a/Suivi Rsync" ; BK=$Suppression$Dir ;
     8	rsync   -ab  --suffix=".OLD-240216" --backup-dir=/media/Savhome/home/a/Suivi Rsync  --stats  --delete      "/home/a/Suivi Rsync/"      "/home/a/Suivi Rsync"   1>T; grep "created files" T 
rsync: [sender] link_stat "/home/a/Rsync" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
Number of created files: 0
6: Sortie=/media/Savhome
6: Suppression=/media/Savhome
7: Dir='/home/a/Suivi Rsync'
7: BK='/media/Savhome/home/a/Suivi Rsync'
8: rsync -ab --suffix=.OLD-240216 --backup-dir=/media/Savhome/home/a/Suivi Rsync --stats --delete '/home/a/Suivi Rsync/' '/home/a/Suivi Rsync'
8: grep 'created files' T
667: cat debug_output.txt
a@p:~$

Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#33 Le 16/02/2024, à 19:16

iznobe

Re : Utilisation des services pour sauvegarder le contenu du home

geole a écrit :

Pour les guillemets. Ils semblent inutiles  lorsqu'il n'y a pas d'espace prévus dans les noms. Il peut y avoir des caractères accentués.

je sais pas pourquoi tu te prends la tête a savoir si c' est utile ou pas d' encadrer de " la valeur de la variable , puisque avec ca ne change rien .
il te suffit de mettre les quotes a chaque fois que tu définis une variable , point barre sauf si c ' est un nombre peut être ? et encore .

je me rapelle qu ' on avait eu le même problème dans la discussion pour renommer les fichiers durant laquelle tu avais été d ' une grande aide https://forum.ubuntu-fr.org/viewtopic.php?id=2068750

les ( mauvaises ) habitudes ont parfois la vie dure tongue

ou même très très dure :

6	Sortie=/media/Savhome; Suppression=/media/Savhome
     7	Dir="/home/a/Suivi Rsync" ; BK=$Suppression$Dir ;
8	rsync   -ab  --suffix=".OLD-240216" --backup-dir=/media/Savhome/home/a/Suivi Rsync  --stats  --delete      "/home/a/Suivi Rsync/"      "/home/a/Suivi Rsync"   1>T; grep "created files" T

et remplacer la derniere ligne par :

sync   -ab  --suffix=".OLD-240216" --backup-dir=/media/Savhome/home/a/Suivi Rsync  --stats  --delete      "$Dir"      "$Dir"   1>T; grep "created files" T

ne serait pas mieux ? dommage d ' avoir des variables pour ne pas s ' en servir dans ton code .
de plus , si tu définis une variable du nom de BACKUP_DIR , avec des " , pour que ca fonctionne dans tous les cas , ca serait presque professionnel :

sync   -ab  --suffix=".OLD-240216" --backup-dir=$BACKUP_DIR  --stats  --delete      "$Dir"      "$Dir"   1>T; grep "created files" T

Dernière modification par iznobe (Le 16/02/2024, à 19:30)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#34 Le 16/02/2024, à 19:59

Astrolivier

Re : Utilisation des services pour sauvegarder le contenu du home

il n'y aurais un pas un souci avec les espaces ?

rsync   -ab  --suffix=".OLD-240216" --backup-dir=/media/Savhome/home/a/Suivi Rsync  --stats  --delete      "/home/a/Suivi Rsync/"      "/home/a/Suivi Rsync"   1>T; grep "created files" T 
rsync: [sender] link_stat "/home/a/Rsync" failed: No such file or directory (2)

d'où sort ce fichier "/home/a/Rsync" ?? il y aurait pas un truc genre il regarde "/home/a/Suivi" puis "/home/a/Rsync"

ps: je pense que c'est toujours une erreur de mettre des espaces dans les nom de répertoires / fichiers (je n'en laisse que dans les fichiers musique ou vidéo)

ps2 : j'avais proposé les lignes de débug pour le mettre au début d'un script (un fichier) et normalement on est pas sensé voir ces lignes dans le fichier debug_output, mais là avec le "cat>Debug.sh<<EOF" je ne suis pas toute l'idée de la manip. mon idée de débug était de voir la ligne que le shell exécute/interprète réellement et la comparer avec celle écrite (avec les variables, guillemet etc..) et voir où sont les différences, ce qui orienterait sur le problème.


edit :
https://www.systutorials.com/how-to-han … -on-linux/

utilise "--protect-args" voire RSYNC_PROTECT_ARGS comme variable d'environnement

rsync   -ab  --protect-args  --suffix=".OLD-240216" --backup-dir=/media/Savhome/home/a/Suivi Rsync  --stats  --delete      "/home/a/Suivi Rsync/"      "/home/a/Suivi Rsync"   1>T; grep "created files" T 

Dernière modification par Astrolivier (Le 16/02/2024, à 20:25)


S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)

Hors ligne

#35 Le 17/02/2024, à 00:19

geole

Re : Utilisation des services pour sauvegarder le contenu du home

Pour astrolivier.
Le message que tu vois est celui que j'avais du mal à comprendre.
initialement je cherchais du coté de l'émetteur et du récepteur des quotes  mal installées .
En fait, il fallait comprendre que les quotes avaient été oubliées ailleurs et comme je n'y avais pas pensé, je ne trouvais pas, ce fut en en mettant option par option, que j'ai vu mon oubli. Depuis c'est rectifié et cela sauvegarde comme je le veux.


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#36 Le 17/02/2024, à 00:25

geole

Re : Utilisation des services pour sauvegarder le contenu du home

iznobe a écrit :

il te suffit de mettre les quotes à chaque fois que tu définis une variable , point barre

Si tu définis une variable du nom de BACKUP_DIR , avec des " , pour que ca fonctionne dans tous les cas , ca serait presque professionnel :

sync   -ab  --suffix=".OLD-240216" --backup-dir=$BACKUP_DIR  --stats  --delete      "$Dir"      "$Dir"   1>T; grep "created files" T

Je connais assez  bien grub. Le mot Backup est abrégé  par BK. Ce qui est bien suffisant vu ce qui  précède.
Je l'ai tellement écrit dans d'autres contextes que j'ai oublié de le mettre entre quote et pas du tout pensé à vérifier à cet endroit. Le message d'erreur n'était pas très clair.

Nota. Je veux bien remplacer "BK$ par $BACKUP_DIR   mais l'incident va revenir. Lire ton conseil.

Comme quoi un oubli reste possible.  Le trouver peut se révéler compliquer.

Dernière modification par geole (Le 17/02/2024, à 00:45)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#37 Le 17/02/2024, à 00:37

Watael

Re : Utilisation des services pour sauvegarder le contenu du home

il faut toujours* mettre des guillemets autour des Développement de variables. TOUJOURS !

--
* à moins de savoir pourquoi. wink

quant aux assignations, vous saurez très vite s'il faut en mettre ou pas :

v=foo bar
bash: bar : commande introuvable

Dernière modification par Watael (Le 17/02/2024, à 00:37)


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

En ligne

#38 Le 17/02/2024, à 09:45

bruno

Re : Utilisation des services pour sauvegarder le contenu du home

Je pense que ce fil serait plus à sa place dans « Terminal, scripts… », non ?


Attention, les bouteilles vendues par Nestlé Waters sont contaminées au monoxyde de dihydrogène.

Hors ligne

#39 Le 17/02/2024, à 11:59

geole

Re : Utilisation des services pour sauvegarder le contenu du home

Bonjour.
Le but premier est d'avoir une réponse à la question "comment activer un script à la déconnexion de l'utilisateur?". Pour l'instant, le script est lancé à l'arrêt de l'ordinateur ( assez déplaisant). L'erreur d'écriture $BK   au lieu de "$BK" est anecdotique.
Lorsqu'il sera au point,  je mentionnerais sa présence dans la documentation RSYNC. Dans ce cas, je mettrais une nouvelle discussion dans la section script et ligne de commande.

AJOUT pour le fun.

root@p:/home/a/Mon repertoire/"/home/a/Mon/"/home/a/Mon/"/home/a/Mon/"/home/a/Mon# ls -ls
total 8
4 -rw-r--r-- 1 a a  6 févr. 12 11:44 'Mon essai.OLD-240215.OLD-240215.OLD-240215.OLD-240215.OLD-240215'
4 -rw-rw-r-- 1 a a 28 févr.  4 19:36 'Mon Fic.OLD-240215.OLD-240215.OLD-240215.OLD-240215.OLD-240215'
root@p:/home/a/Mon repertoire/"/home/a/Mon/"/home/a/Mon/"/home/a/Mon/"/home/a/Mon#

C'est une création  par le script    avec un répertoire " certainement lorsqu'il y en  a eu des mal placés.


Je vois que la conservation des "vieilleries"  se passe assez bien

root@p:/media/Oldhome/home# ls -als
total 88
4 drwxr-xr-x  7 root    root    4096 févr. 17 11:31  .
4 drwxr-xr-x  3 root    root    4096 févr.  6 14:12  ..
4 drwxr-xr-x 30 a       a       4096 févr. 17 11:31  a
4 drwxr-xr-x 10 b       b       4096 févr. 16 19:58  b
4 drwxr-xr-x  2 root    root    4096 févr. 16 19:47  Bureau
0 lrwxrwxrwx  1 a       a         14 janv.  6 16:30  Bureau.OLD-240216 -> /home/a/Bureau
4 drwxr-xr-x  9 enfants enfants 4096 févr. 16 19:58  enfants
4 -rw-r--r--  1 root    root     290 févr. 14 12:40 'Passage Rsync.txt.OLD-240214'
4 -rw-r--r--  1 root    root     841 févr. 15 19:59 'Passage Rsync.txt.OLD-240215'
4 -rw-r--r--  1 root    root     203 févr. 16 21:29 'Passage Rsync.txt.OLD-240216'
4 -rw-r--r--  1 root    root     522 févr. 17 09:30 'Passage Rsync.txt.OLD-240217'
4 -rwxr-xr-x  1 root    root    3274 févr. 14 11:16  Rsync.par.OLD-240214
4 -rwxr-xr-x  1 root    root    3316 févr. 15 16:24  Rsync.par.OLD-240215
4 -rwxr-xr-x  1 root    root    3316 févr. 16 18:45  Rsync.par.OLD-240216
8 -rwxr-xr-x  1 root    root    6803 févr. 13 19:03  Rsync.sh.OLD-240213
8 -rwxr-xr-x  1 root    root    7091 févr. 14 11:48  Rsync.sh.OLD-240214
8 -rwxr-xr-x  1 root    root    6919 févr. 15 19:58  Rsync.sh.OLD-240215
8 -rwxr-xr-x  1 root    root    6917 févr. 16 18:45  Rsync.sh.OLD-240216
4 drwxr-xr-x  2 root    root    4096 févr. 16 19:24  Suivi
root@p:/media/Oldhome/home# 
root@p:/media/Oldhome/home# 
root@p:/media/Oldhome/home# 
root@p:/media/Oldhome/home# cat 'Passage Rsync.txt.OLD-240217'
Traitement Rsync le 24021619
Traitement Rsync le 24021619
Traitement Rsync le 24021619
Traitement Rsync le 24021619
Traitement Rsync le 24021619
Traitement Rsync le 24021620
Traitement Rsync le 24021621
Traitement Rsync le 24021622
Traitement Rsync le 24021623
Traitement Rsync le 24021700
Traitement Rsync le 24021701
Traitement Rsync le 24021702
Traitement Rsync le 24021703
Traitement Rsync le 24021704
Traitement Rsync le 24021705
Traitement Rsync le 24021706
Traitement Rsync le 24021707
Traitement Rsync le 24021709
root@p:/media/Oldhome/home# 

Je ne comprend pas trop pourquoi il n'y a pas eu de sauvegarde ce matin à 08 heures.
Je  vais commencer à épurer ce fichier de suivi pour ne conserver que ce qui prévu dans le paramétrage.


.

Dernière modification par geole (Le 17/02/2024, à 12:53)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne