Rsync simplifié l'utilisation de l'option command="..." ?

Salut,

Après bien des déboires et soucis à solutionnais :

*Autoriser root à faire des sauvegardes ["/" “/home” “/var” sur un dd externe (en ext4)] de local << distante.

  • Régler la config sshd_config.
  • Créer une clés privée/public digne de ce nom.

Entre autre … :033

Voici le hors-d’œuvre: Rsync! :smiley:

Il y a quelques semaines de cela, après bien des boulettes, je parvenais à sauvegarder mon /home distant en local.

Depuis, je me suis lancé sur celles des partitions “/” et “/var” … Que de galère en passant.

Nous y voici, il m’a fallut plusieurs jours pour comprendre ce qui ne fonctionner pas et m’occasionner des erreurs du genre … :075

[code]root@machine1:~# rsync -arvicz -e ssh root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/
receiving incremental file list
.d…t… ./

f+++++++++ dead.letter
Invalid checksum count -1200685312 [receiver]
rsync error: protocol incompatibility (code 2) at io.c(1334) [receiver=3.0.9]
rsync: connection unexpectedly closed (291 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [generator=3.0.9]
root@machine1:~# [/code]

alors qu’en simulation tous semblaient ok.

[code]root@machine1:~# rsync -arviczn -e ssh root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/
receiving incremental file list
.d…t… ./

f+++++++++ dead.letter
f+++++++++ demoUpload.pl
.d…t… bin/
f+++++++++ bin/bash
f+++++++++ bin/bunzip2
f+++++++++ bin/busybox

f+++++++++ usr/share/zoneinfo/right/US/Samoa
cd+++++++++ usr/src/
.d…tp… var/

sent 100223 bytes received 1138907 bytes 85457.24 bytes/sec
total size is 641683514 speedup is 517.85 (DRY RUN)
root@machine1:~# [/code]

Pour obtenir ce que je souhaitais, j’opérais de cette manière.
Je lançais le mode debug afin d’obtenir (entre autre) la commande à forcer.

Tels que :

root@machine1:~# rsync -arviczn -e 'ssh -v' root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/

[quote]debug1: Remote: Forced command: rsync --server --sender -avnrcze.iLsf . /save/racinebackup/racineoriginal/
debug1: Remote: Forced command: rsync --server --sender -avnrcze.iLsf . /save/racinebackup/racineoriginal/
debug1: Sending environment.
debug1: Sending env LANG = fr_FR.UTF-8
debug1: Sending command: rsync --server --sender -vnlogDtprcze.iLsf . /save/racinebackup/racineoriginal/[/quote]

Cette même commande (par exemple : rsync --server --sender -vnlogDtprcze.iLsf . /save/racinebackup/racineoriginal/) que j’incluais systématiquement à ma clés distante (16kbit … Cf. syam :023 )

[code]cat /root/.ssh/authorized_keys

command=“rsync --server --sender -vlogDtprcze.iLsf . /save/racinebackup/racineoriginal/” ssh-rsa AAAAB3N …[/code]

Qui dés que je changeais une option de ma ligne de commande, me renvoyait vers des messages d’erreurs tels que celui-ci. :075

[code]root@machine1:~# rsync -arvicz -e ssh root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/
receiving incremental file list
.d…t… ./

f+++++++++ dead.letter
Invalid checksum count -1200685312 [receiver]
rsync error: protocol incompatibility (code 2) at io.c(1334) [receiver=3.0.9]
rsync: connection unexpectedly closed (291 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [generator=3.0.9]
root@machine1:~# [/code]

Maintenant que j’ai compris le pourquoi :wink: , je rectifie avant de lancer la dite commande.

Ma question étant, n’y a t’il pas une façon plus simple de procéder ?

ps: ne pas tenir compte des appellations des sauvegardes. C’est encore à titre expérimental … :wink:

En pratiquant de cette manière cela semble fonctionnait correctement, cependant pas très pratique, un oubli …

Une pseudo synchronisation, dans la mesure ou rien n’avait été modifier sur la racinebackup distante.

[code]root@machine1:~# rsync -arvicz --del -e ssh root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/
receiving incremental file list

sent 3468 bytes received 1042152 bytes 24037.24 bytes/sec
total size is 641683514 speedup is 613.69
root@machine1:~#
[/code]
A coup de rm …

[code]root@ksxxxxxxxxx:/save/racinebackup/racineoriginal# rm -r home
rm : supprimer répertoire « home » ? y
root@ksxxxxxxxxx:/save/racinebackup/racineoriginal#
root@ksxxxxxxxxx:/save/racinebackup/racineoriginal#
root@ksxxxxxxxxx:/save/racinebackup/racineoriginal# rm -r var
rm : supprimer répertoire « var » ? y
root@ksxxxxxxxxx:/save/racinebackup/racineoriginal#

root@ksxxxxxxxxx:/save/racinebackup/racineoriginal# rm -r tmp
rm : descendre dans le répertoire « tmp » ?y
rm : supprimer fichier vide « tmp/ipt.err » ? y
rm : supprimer répertoire « tmp/.ICE-unix » ? y
rm : supprimer fichier « tmp/cpu_stats » ? y
rm : supprimer fichier « tmp/ipt.out » ? y
rm : supprimer répertoire « tmp/.X11-unix » ? y
rm : supprimer répertoire « tmp » ? y
root@ksxxxxxxxxx:/save/racinebackup/racineoriginal#
[/code]
C’est tout bon, je crois …

[code]root@machine1:~# rsync -arvicz --del -e ssh root@x.x.x.x:/save/racinebackup/racineoriginal/ /media/sauvegardeovh/
receiving incremental file list
*deleting var/
*deleting tmp/.X11-unix/
*deleting tmp/.ICE-unix/
*deleting tmp/ipt.out
*deleting tmp/ipt.err
*deleting tmp/cpu_stats
*deleting tmp/
*deleting home/
.d…t… ./

sent 3466 bytes received 1041968 bytes 24032.97 bytes/sec
total size is 641670743 speedup is 613.78
root@machine1:~# [/code]

Je viens de croiser un fil ou il est question de /etc/profile.d pour corriger " ce type de souci" … :think:

forums.fedora-fr.org/viewtopic.php?id=15258

[quote="@TitaX"]J’ai trouvé tout seul mon problème.
Suite a la mise en place de fortune dans /etc/profile.d rsync affichait ce message.
Le problème venait donc de cela.
Tout est résolu maintenant ![/quote]

guidespratiques.traduc.org/guide … Guide.html

[quote]/etc/profile

2.2.2.1. Invoqué pour être le Shell d’interaction, ou avec l’option `–login’

Interactif signifie que vous pouvez entrer des commandes. Le Shell n’est pas lancé parce qu’un script a été activé. Un Shell de connection vous donne accès au Shell après qu’il vous ait authentifié, généralement en contrôlant le nom d’utilisateur et le mot de passe.

Fichiers lus :

/etc/profile

~/.bash_profile, ~/.bash_login ou ~/.profile : le premier fichier lisible trouvé est lu

~/.bash_logout à la déconnexion.

Des messages d’erreur s’affichent si les fichiers de configuration existent mais sont illisibles. Si un fichier n’existe pas, Bash cherche le suivant.

2.2.2.2. Invoqué comme Shell interactif sans étape de connexion

Un Shell sans connexion signifie que l’accès ne nécessite pas d’authentification par le système. Par exemple, quand vous ouvrez un terminal par le biais d’une icone, ou d’un menu.

Fichiers lus :

~/.bashrc

Ce fichier est habituellement référencé dans ~/.bash_profile :

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Voir Chapitre 7, Les instructions de condition pour plus d’informations sur la construction if.
2.2.2.3. Invoqué non interactivement

Tous les scripts utilisent un Shell non-interactif. Ils sont programmés pour faire certaines tâches et ne peuvent être utilisés pour faire autre chose que ce pour quoi ils ont été prévus.

Fichiers lus :

définis par BASH_ENV

PATH n’est pas utilisé pour la recherche de ces fichiers, donc mettre le chemin complet dans la variable si vous souhaitez en faire usage.
2.2.2.4. Invoqué avec la commande sh

Bash essaye de se comporter comme le programme historique Bourne sh tout en se conformant à la norme POSIX.

Fichiers lus :

/etc/profile

~/.profile

Quand il est invoqué de façon interactive, la variable ENV peut pointer vers des informations de démarrage suplémentaires.
[/quote]
Serait ce une piste :017

Si tu cherches un outil plus simple, il y a deja-dup (backup et cryptage).

Salut sidell …

Plus simple ? Non non! :hand: … Rsync me conviendra parfaitement lorsque j’aurai (avec un peu d’aide) simplifié l’utilisation que j’en fait pour l’heure … :033

Tu parles de ça ? deja-dup-restauration-imposible-t37800.html
Perso j’aurais pas confiance… :mrgreen:

[quote=“loreleil”]
Je viens de croiser un fil ou il est question de /etc/profile.d pour corriger " ce type de souci" … :think:

forums.fedora-fr.org/viewtopic.php?id=15258

[quote="@TitaX"]J’ai trouvé tout seul mon problème.
Suite a la mise en place de fortune dans /etc/profile.d rsync affichait ce message.
Le problème venait donc de cela.
Tout est résolu maintenant ![/quote]

Serait ce une piste :017[/quote]

Y-a-t’il un lien avec cette histoire de “texte fortune” ? Je piaffe … :083

[code]loreleil@machine1:~$ acp fortune
fortune:
Installé : (aucun)
Candidat : (aucun)
Table de version :
loreleil@machine1:~$

loreleil@machine1:~$ aptitude search fortune
v fortune -
v fortune-cookie-db -
p fortune-mod - Fournit des « cookie fortune » à la demande
p fortune-zh - Chinese Data files for fortune
p fortunes - Fichiers de données contenant des épigrammes
p fortunes-bg - Fichiers de données bulgares pour fortune
p fortunes-bofh-excuses - BOFH excuses for fortune
p fortunes-br - Data files with fortune cookies in Portuguese
p fortunes-cs - Fichiers de données tchèques et slovaques pour fortune
p fortunes-de - Fichiers de données allemandes pour fortune
p fortunes-debian-hints - Astuces Debian pour le programme fortune
p fortunes-eo - Collection of esperanto fortunes.
p fortunes-eo-ascii - Collection of esperanto fortunes (ascii encoding).
p fortunes-eo-iso3 - Collection of esperanto fortunes (ISO3 encoding).
p fortunes-es - Spanish fortune database
p fortunes-es-off - Spanish fortune cookies (Offensive section)
p fortunes-fr - Fichiers de données françaises pour fortune
p fortunes-ga - Irish (Gaelige) data files for fortune
p fortunes-it - Fichiers de données contenant des citations amusantes en italien
p fortunes-it-off - Data files containing Italian fortune cookies, offensive section
p fortunes-mario - Fortunes files from Mario
p fortunes-min - Fichiers de données contenant des épigrammes
p fortunes-off - Data files containing offensive fortune cookies
p fortunes-pl - Polish data files for fortune
p fortunes-ru - Russian data files for fortune
p libfortune-perl - Perl module to read fortune (strfile) databases
loreleil@machine1:~$
[/code]

hummm … j’avais oublié … :shhh:

Il y a quelques jours, j’avais modifié mon sudoers à l’avantage de mon user: loreleil.

loreleil ALL= NOPASSWD: /usr/bin/rsync --server --sender -vnlogDtprze.iLsf . /etc/ loreleil ALL= NOPASSWD: /usr/bin/rsync --server --sender -vbnlogDtprze.iLsf --backup-dir /home/loreleil/.controle-racine-OVH/ . / loreleil ALL= NOPASSWD: /usr/bin/rsync

Interactif ? :017 Cause à effet … :think:

Mais je ne peux utiliser loreleil pour ces sauvegardes sur dd externe, il n’a pas les droits pour, et lui octroyer c’est non!
chown …
chmod …

Because: Il devient propriétaire des répertoires. (modification des droits sur le backup) Inconcevable :naughty: pour une éventuel restauration/réinstallation.

Donc root … :drool:

Un cht’i coup de pouce … :033

Re, … :033

Cette histoire de command="…" à joindre dans (distant) /root/.ssh/authorized_keys m’a perturbé. :shhh: Étant si près du but il me semble …

Mais, en y réfléchissant … :115 Ceci devrait pouvoir ce régler aisément en ayant un cahier des charges bien définit …

Certes, ce n’est pas encore très clair dans mon neurone, mais … l’idée est là! Je crois … :whistle:

A) *** Sur mon dédié ***

** Synchronisation sda1 “/”; sda2 “/home”; sda3 “/var” vers sda6 (par exemple)

  • Déterminer très clairement les répertoires et fichiers à exclurent.

  • Pour: “/” “/home” “/var”

  • Lancé les dites commandes (rsync) en cron.hourly; cron.daily; etc …

Ou

  • Crée un script (ou trois) pour une sauvegarde de ceux-ci sur /save (sad6, par exemple).

Ayant pour joli nom (par exemple) :

backup_racine
backup_home
backup_var

B) *** En local sur dd externe/interne 1,2,3 etc … ***

  • Synchronisation local << distant.

A partir de là, je devrai pouvoir fixer les options.

command="rsync --server --sender -vlogDtprcze.iLsf . /save/…/ " ssh-rsa AAAAB3N …

Si mon raisonnement s’avère juste (en première abord) je ne devrai plus avoir ces soucis. Il me suffirai de lancer debug pour obtenir les bonnes options définitives.

Non ? :think:

Que l’un d’entre vous me stop si j’ai dis des conneries … :083 Please …

Une bonne demi heure de pause, enfin presque, j’ai fourché sur d’autres fils … :033

La solution je l’avais déjà avant de poster … :mrgreen:

Quelques semaines en arrière: sauvegarde /home avec mon user loreleil local << distant.

J’incluais command="…" /mon_user_labas/.ssh/authorized_keys pour dry-run, pour -c, pour --del, etc …

Autant de clés (la même) avec des options différentes pour command="…"

C’était tout con, mais depuis, z’avais z’oublié :075.

J’étais passé à côté … :033 :mrgreen: :075 :013 :075 :033:whistle::005

Ceci dit, si vous avez mieux … :wink:

Pour le dérangement … je vous en serre cinq … :wink:

Tiens j’ai une question concernant ton tuto sur le wiki pour rsync : est il complémentaire à celui de Ricardo ou est faut il choisi entre les deux solutions??

Salut,

Il y a deux solutions … au moins … :033

Complémentaire ? Indépendant!

Toutefois il nécessite le script de ricardo, sans oublier tous les membres qui y ont mis leurs grains de sel … :wink:

ps: Des apports supplémentaires sont à venir … 8)

Salut,

Une rectification s’impose … :033

J’ai nettoyé mon sudoers.

Rsync une seule option command="…" suffit pour faire les trois opérations (dans le cas cité ci-plus-haut)

Une commande (rsync) pour /. Une seule clés. Une seule option command="…"

Une commande (rsync) pour /home. Une seule clés. Une seule option command="…"

Une commande (rsync) pour /var. Une seule clés. Une seule option command="…"

Trois clés, trois options et roule ma poule … :smiley:

Tu parles de ça ? deja-dup-restauration-imposible-t37800.html
Perso j’aurais pas confiance… :mrgreen:[/quote]
Je vais répondre au topic en question mais déjà dup est pas mal. Après il y a cryptage ce qui peut rendre plus compliquer le rétablissement des données. Par contre, c’est sécurisé.

Plus d’infos : live.gnome.org/DejaDup/HowItWorks

Salut,

Plus d’info ? :005 :033

rsync >>> en fr delafond.org/traducmanfr/man … ync.1.html

  • edit *

deja-dup restauration imposible. :005 :005 :005