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.

#1 Le 19/01/2024, à 10:26

Joël26

Résolu Sauvegarde avec rsync

Bonjour,
Nouveau sur le forum mais utilisant Ubuntu depuis plusieurs année je viens de réinstaller Xubuntu sur une nouvelle machine.
Je dispose de plusieurs disques et entre autres des partitions suivantes :
/
/ home
/media/docpartage (en ntfs pour partage avec un vieux WinXP)
/media/sauvdocs (en fat32 sur un DD)
/media/secoursdocs (en fat32 sur un SSD)
/media/copiedocs (en fat32 sur un SSD)

Je souhaite automatiser mes sauvegardes avec rsync et je vous soumets les lignes de configuration que j'envisage pour ma crontab (anacron). Avant de me lancer j'aimerais avoir un (plusieurs) avis sur la validité de de ces scripts.
0 3 SauvDocs rsync -r -t -v --progress --delete --ignore-existing -s /media/docspartage /media/sauvdocs
Sauvegarde à chaque démarrage de ma machine.
7 60 SecoursDocs rsync -r -t -v --progress --delete --ignore-existing -s /media/docspartage /media/secoursdocs
Sauvegarde toutes les semaines.
@monthly 15 CopieDocs rsync -r -t -v --progress --delete --ignore-existing -s /media/docspartage /media/copiedocs
Sauvegarde tous les mois.
Merci pour vos conseils, Joël.

Dernière modification par Joël26 (Le 27/01/2024, à 20:14)

Hors ligne

#2 Le 19/01/2024, à 10:43

Watael

Re : Résolu Sauvegarde avec rsync

salut,
anacron, ce n'est pas cron !

le format des lignes ne semble pas correspondre à celui d'une crontab. tu peux nous décrire ce que tu as écris, stp ?

puisque la tâche s'exécutera en arrière plan, et qu'en conséquence tu ne verra pas la sortie de rsync, plutôt que --progress, tu devrais faire écrire cette sortie vers un fichier journal (log).

et si tu veux qu'une sauvegarde soit réalisée toutes les semaines, ce ne sera pas @monthly !

Dernière modification par Watael (Le 19/01/2024, à 10:44)


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

Hors ligne

#3 Le 19/01/2024, à 15:07

Joël26

Re : Résolu Sauvegarde avec rsync

Salut Watael,
En fait j'utilise actuellement grsync et tout se passe bien mais lors des sauvegardes l'interface graphique fait systématiquement son apparition.
Je pensais qu'en reprenant les lignes de commande de grsync cela pouvait fonctionner avec rsync mais en arrière plan. Anciennement j'utilisais lukybackup qui faisait le travail de cette façon avec juste une information dans la barre de tâche durant le processus.
Concernant les fréquences des sauvegardes; la première se fait à chaque démarrage après 3 mn (0 3), la seconde une fois par semaine après 60mn (7 60) et la troisième une fois par mois 15mn après le démarrage (@monthly 15).
Je veux bien avoir une sortie vers un fichier log mais je ne sais pas comment faire.

Hors ligne

#4 Le 19/01/2024, à 16:59

Watael

Re : Résolu Sauvegarde avec rsync

Concernant les fréquences des sauvegardes; la première se fait à chaque démarrage après 3 mn (0 3), la seconde une fois par semaine après 60mn (7 60) et la troisième une fois par mois 15mn après le démarrage (@monthly 15).

au temps pour moi, je n'avais jamais parcouru le man de anacron. :oops: :shame: smile

pour le log de rsync, c'est l'option --log-file=
cf. man rsync
tu peux d'ailleurs aussi enlever l'option --verbose, puisque tout ira dans le log.


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

Hors ligne

#5 Le 20/01/2024, à 10:04

Joël26

Re : Résolu Sauvegarde avec rsync

Merci Watael,
OK, je rectifierai donc mes commandes mais je ne sais où placer cette option; à la place de --verbose ou en fin de ligne de commande ? Où vais-je retrouver le résultat ? Dois-je indiquer un chemin ?
Je ne maîtrise pas les lignes de commande et ne voudrais pas faire une bourde... :=?

Hors ligne

#6 Le 20/01/2024, à 12:08

Watael

Re : Résolu Sauvegarde avec rsync

tu peux tester la commande sans qu'elle s'exécute en ajoutant l'option --dry-run

oui, à la place de verbose, et il faut en effet indiquer un chemin (et un nom! smile )


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

Hors ligne

#7 Le 20/01/2024, à 21:35

Frankkunst

Re : Résolu Sauvegarde avec rsync

Bonjour à tous, bonjour Joël26, bonjour Watael,
Je viens de terminer un script utilisant "rsync" , je ne suis pas pro mais trouvant problématique l'utilisation du programme de sauvegarde "Déjà-Dup", je suis passé à grsync puis désirant me simplifier encore la vie smile ...je me suis dis pourquoi pas un petit script avec un lanceur !
J'ai pris le fil de la discussion un peu rapidement, veuillez m'excuser je suis un peu hors propos, je déplace donc mon script dans une nouvelle discussion ,voici le lien ici .
Bonne continuation

Dernière modification par Frankkunst (Le 21/01/2024, à 19:47)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#8 Le 20/01/2024, à 23:20

geole

Re : Résolu Sauvegarde avec rsync

Bonsoir.
Sauvegarder au démarrage  ne me semble pas  logique.
C'est plutôt à l'arrêt qu'il faudrait faire.
Mais, idéalement,  c'est au changement d'utilisateur.
Cependant, rien n'interdit de  sauvegarder  régulièrement.
Je  vais tenter de publier plus rapidement que je pensais  ma réflexion non encore aboutie sur le sujet.
Tu pourrais utiliser des "service".
Exemple pour l'arrêt. Créer un fichier service.

cat>/etc/systemd/system/HomeRsync.service<<EOF    
[Unit]
Description=Duplication du HOME de l'utilisateur connecté.
DefaultDependencies=no
Before=shutdown.target sleep.target 
[Service]
Type=oneshot
ExecStart=/home/Rsync.sh
#### Le script à lancer
StandardOutput=journal+console
StandardError=journal+console
TimeoutSec=15minutes
#### Durée exécution avant plantage      
[Install]
WantedBy=shutdown.target sleep.target
EOF

Exemple pour un service cyclique

cat>/etc/systemd/system/HomeRsync.timer<<EOF
[Unit]
Description=Lance une sauvegarde toutes les 2 heures. 
[Timer][url]https://doc.ubuntu-fr.org/exfat[/url]
OnActiveSec=2h
OnUnitActiveSec=2h
### Par défaut, lancement du service  de même nom (ici HomeRsync.service).  Si pas le cas, il faut préciser lequel avec la ligne suivante
Unit=UnautreSercice.service
[Install]
WantedBy=timers.target
EOF

Voir ce lien pour création d'autres timers  , à la journée, à la semaine, au mois......

Remarques générales .
Je vois que tes quatre partitions sont au format FAT32. As-tu pensé qu'un jour tu pourrais avoir des fichiers dont la taille dépasse 4 Go  en provenance de ta partition NTFS????  Pense au format EXTFAT
- Pourquoi ne pas penser à conserver la version moins un en ajoutant ce paramètre -b
  Voir toutes les versions, en ajoutant aussi --suffix=".OLD$(date +"-%y%m%d")"
   Dans ce cas, pense que les sorties vont être plus volumineuses et  il faudra donc certainement faire des épurations manuelles.
A mon avis, tu devrais rediriger toutes les erreurs dans un fichiers de log et pas dans /dev/null comme  fait Frankkunst ainsi que les sorties normales.
exemple proposé

LOG=/var/log/HomeRsync ; Log=$LOG/Rsync.log  
rsync -r -t -v --progress --delete --ignore-existing -s /media/docspartage /media/copiedocs 1>>$Log 2>>$Log

Voir

rsync -b -r -t  --stats --delete --ignore-existing -s /media/docspartage /media/copiedocs 1>/tmp/Number 2>>$Log ; grep Number /tmp/Number>>$Log

afin d'avoir  un tout petit résumé.
il te restera à automatiser l'épuration des logs

cat >/etc/logrotate.d/HomeRsync<<EOF 
/var/log/HomeRsync/Rsync.log {
rotate 14
daily
missingok
notifempty
nocompress #compress
}
EOF
chmod 644 /etc/logrotate.d/HomeRsync
logrotate -f /etc/logrotate.conf
ls -ls /var/log/HomeRsync

A mon avis, dans ton script, tu devrais t'assurer que les partitions entrées et sorties sont bien montées.
Exemple

LABEL=HomeNew ; Sortie=/media/$LABEL
if [ ! "$(mountpoint $Sortie)" = "$Sortie est un point de montage" ]; then echo "La partition $Sortie n'est pas montée " 1>>$Log ; mount -v /dev/disk/by-label/$LABEL $Sortie 1>>$Log 2>>$Log;

Dernière modification par geole (Le 21/01/2024, à 14:03)


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

#9 Le 24/01/2024, à 13:24

Joël26

Re : Résolu Sauvegarde avec rsync

Bonjour,
Merci à tous pour vos pistes de solutions.
Je n'ai pas encore pris le temps de mettre en pratique les conseils de Watael (un peu surbooké en ce moment) mais dès que j'ai créneau je m'y colle.
La solution de sauvegarde au démarrage n'est certes pas la plus logique mais mon installation m'empêche de la faire  lors de l’arrêt. Je dois couper l’alimentation avant de quitter mon poste...
Concernant mes partitions elles sont toutes montées au démarrage, sauf la sauvegarde de mon home séparé, que je ne fais que lorsque je suis certain de la stabilité de mon système.
Sinon en dehors du fait que Grsync me fait coucou toutes les heures ma solution actuelle me convient bien.

Hors ligne

#10 Le 24/01/2024, à 14:04

Christophe C

Re : Résolu Sauvegarde avec rsync

Joël26 a écrit :

Je pensais qu'en reprenant les lignes de commande de grsync cela pouvait fonctionner avec rsync mais en arrière plan. Anciennement j'utilisais lukybackup qui faisait le travail de cette façon avec juste une information dans la barre de tâche durant le processus.

je lis que tu es parti sur un anacrontab, et pourquoi pas, mais ce n'est pas obligé. tu peux faire comme tu dis plus haut. Dans Les lancements au démarrage de Xub, tu crées une nouvelle entrée, et tu mets quelque chose comme cela :

 sh -c "while : ; do sleep 3600 ; rsync -r -t -v --progress --delete --ignore-existing -s /media/docspartage /media/sauvdocs ; done"

Le while : ; do lance une boucle sans fin
Le sleep 3600 lance ta synchro toutes les H (3600 secondes).
Et pour la commande rsync, tu n'as qu'à reprendre le code que t'indique grsync.
Tu adaptes, bien sur. Et tu n'auras aucune apparition de fenêtre à l'écran.


Tu peux même rester comme aujourd'hui (un grsync qui se lance régulièrement), mais tu demandes à la fenêtre de ne PAS apparaitre. ce qui est facile avec une règle devilspie https://doc.ubuntu-fr.org/devilspie
En gros, pour créer cette dernière :
tu installes devilspie (sudo apt install devilspie)
tu lances devilspie au démarrage via les lancements automatiques de XFCE (AVANT le démarrage de grsync)
Tu crées un répertoire caché devilspie : mkdir ~/.devilspie
Tu y colles un fichier grsync.ds, dans lequel tu mets :

(if
  (is (application_name) "Grsync")
  (minimize)
)

(j'ai un doute sur le besoin d'une majuscule ou pas à Grsync dans le code). Et la fenêtre Grsync s'ouvre, mais en minimisée. Tu ne la voies pas à l'écran, juste dans la barre de tâche.


Avec ces 2 options (rsync dans une boucle ou Grsync dans une boucle + devilspie) tu peux rester assez proche de ce que tu fais déjà.

Dernière modification par Christophe C (Le 24/01/2024, à 14:11)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#11 Le 27/01/2024, à 20:11

Joël26

Re : Résolu Sauvegarde avec rsync

Merci à tous,
En fin de compte, j'ai laissé Grsync effectuer la sauvegarde au démarrage. Elle ne me gène car elle n'a lieu qu'une fois.
Pour les deux autres j'ai utilisé la ligne de code de WWF que j'ai adapté pour qu'elle s'exécute toute les heures en arrière plan.
Pour le moment, tout semble se passer comme il faut. Les fichiers créés en test se retrouvent bien dans ma sauvegarde horaire et sont bien supprimés le cas échéant.
Si j'en éprouve le besoin j'utiliserais devilspie pour avoir une indication dans la barre de tâches.

Hors ligne