Utilisation de rsync

Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 30 mars 2015 à 15:31
thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 - 5 juil. 2015 à 22:31
Bonjour, je cherche un moyen simple de sauvegarder mon /home sous mageia 4 via un disque dur connecté en usb sans avoir à refaire à chaque fois une copie complète car c'est trop long. Je voudrais par exemple avec la commande rsync. ne sauvegarder que les différences entre mon source /home et la destination.
Si j'utilise la commande:
rsync -av --del --stats $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"
je pense que je vais sauvegarder la totalité de mon /home avec notamment tous les fichiers cachés, dans ce cas ma question est la suivante: quel est l'intérêt de sauvegarder tous ces fichiers cachés ?!!!!
Si j'utile par exemple la commande:

rsync -av --del --stats --filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/" --filter "- .cache/" --filter "- .beagle/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"

dans ce cas je filtre certains fichiers cachés mais je ne sais pas définir ceux qui sont importants et doivent être sauvegardés de ceux qui ne sont pas importants et ne doivent pas être sauvegardés.!!!

Je ne sais pas si ça marche mais si je fais

rsync -av --del --stats --filter "- .*/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION" est-ce que je sauvegarde tout à l'exclusion des fichiers cachés ?

Je vous remercie pour vos réponses.







9 réponses

thierryR51 Messages postés 139 Date d'inscription dimanche 5 juillet 2015 Statut Membre Dernière intervention 22 juin 2021 8
5 juil. 2015 à 22:31
Si tu n'est pas habitué à la ligne de commande, tu trouveras une interface graphique par grsync.
1
mamiemando Messages postés 33306 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 octobre 2024 7 794
3 avril 2015 à 10:44
je pense que je vais sauvegarder la totalité de mon /home avec notamment tous les fichiers cachés, dans ce cas ma question est la suivante: quel est l'intérêt de sauvegarder tous ces fichiers cachés ?!!!!

Sauver les fichiers cachés est utile si tu veux sauver ton profil utilisateur. À toi de voir si c'est ce que tu veux faire ou pas.

rsync -av --del --stats --filter "- .*/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"
est-ce que je sauvegarde tout à l'exclusion des fichiers cachés ?


Je pense que le filtre serait plutôt "/home/toto/\.*"

est-ce que je sauvegarde tout à l'exclusion des fichiers cachés ?

Essaye et fais un
find .
dans le répertoire de sauvegarde, et tu verras bien :-)

Bonne chance
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
10 avril 2015 à 00:30
Bonsoir, merci pour ta réponse, finalement j'ai fait ceci:

rsync -av --del --stats --filter "- .*/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"

comme ça je ne copie aucun fichier caché, je sauvegarde mon home, apparemment ça marche très bien quand je sauvegarde sur un disque dur externe USB.
Mais j'ai un PC portable sur lequel j'aimerai bien sauvegarder mon /home du pc de bureau, là je n'y arrive pas. Je passe la commande suivante:

rsync -e ssh -avz --del --stats --filter "- .*/" $REPERTOIRE_SOURCE $IP:$REPERTOIRE_DESTINATION

ça ne marche pas j'ai le message:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(632) [sender=3.1.0]

Si quelqu'un a une idée ? merci pour votre aide.
0
mamiemando Messages postés 33306 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 octobre 2024 7 794
10 avril 2015 à 08:46
Ça ça veut dire que rsync a fait une erreur mémoire (ce qui n'est pas normal) donc tu peux déjà essayer dans un premier temps de mettre à jour, tester à nouveau, et si ça n'a pas marché faire une remontée de bug.

Maintenant si tu as lu mon précédent message j'ai discuté du filtre et tu n'en as pas tenu compte dans le message que tu reportes. En outre j'essaierais plutôt :

rsync -av --del --stats --filter "- \.*" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION"


Et sinon il reste toujours la possibilité de passer par find !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
10 avril 2015 à 10:42
Bonjour, merci pour ta réponse, je ne comprends pas très bien ce que tu veux dire quand tu me parles du filtre, en effet je crois que j'utilise exactement ce que tu m'as dit à ce niveau là, (--filter "- \.*), je pense qu'il ne s'agit pas d'un problème rsync mais plutôt d'un problème de connexion ssh mais je ne sais pas trouver à quel endroit est situé ce problème.
Je crois qu'il faudrait que je puisse faire un test spécifique de connexion ssh entre mon ordi de bureau et mon ordi portable en passant bien sûr par internet, mais je ne sais pas comment faire ce test de connexion ssh. Si quelqu'un a une idée ?
Encore merci pour vos réponses
0
mamiemando Messages postés 33306 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 octobre 2024 7 794
11 avril 2015 à 15:18
je crois que j'utilise exactement ce que tu m'as dit à ce niveau là, (--filter "- \.*)

Hum dans ton message tu avais écrit :

rsync -av --del --stats --filter "- .*/" $REPERTOIRE_SOURCE "$REPERTOIRE_DESTINATION" 

rsync -e ssh -avz --del --stats --filter "- .*/" $REPERTOIRE_SOURCE $IP:$REPERTOIRE_DESTINATION


Donc ça laissait penser que tu n'en avais pas tenu compte
--filter "
- \.* != --
filter "- .*/"
:-)

je pense qu'il ne s'agit pas d'un problème rsync mais plutôt d'un problème de connexion ssh mais je ne sais pas trouver à quel endroit est situé ce problème.

Si la connexion ssh posait problème aucun fichier ne serait transférer.

Je crois qu'il faudrait que je puisse faire un test spécifique de connexion ssh entre mon ordi de bureau et mon ordi portable en passant bien sûr par internet, mais je ne sais pas comment faire ce test de connexion ssh. Si quelqu'un a une idée ?

Je ne vois pas le rapport rsync ne fais pas plus une étape via internet que ssh, du coup je ne comprends pas pourquoi tu veux tester ceci. Mais dans l'absolu si tu voulais faire ce test il te suffirait de te connecter à internet via un autre point d'accès, ou de te connecter à une machine linux hors de ton réseau local et initier une connexion ssh depuis cette machine.

Ce qui, soit dit en passant, échouera probablement si ta box ne redirige pas le port ssh vers la machine qui héberge ledit serveur ssh...

Bonne chance
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
12 avril 2015 à 13:00
Bonjour, encore merci pour ton aide. Concernant le problème de connexion de mon pc de bureau vers mon pc portable par rsync pour synchroniser les fichiers et dossiars, je crois que j'ai compris le problème; En fait, comme mon pc de bureau est connecté sur ma neufbox par câble éthernet et mon pc portable sur la même neufbox par wifi, l'adresse ip que je dois mettre est 192.168.1.xx (adresse de mon réseau privé) et non pas l'adresse ip internet de mon pc portable car je pense que la boucle en passant par internet ne doit pas fonctionner, ça doit fonctionner quand les 2 pc se trouvent derrière des routeurs différents. Donc maintenat quand je mets l'adresse 192.168.1.XX ça marche presque à 10% !! il y a quand même quelques problèmes d'autorisations sur lesdossiers et fichiers. Je m'explique: quand je fais rsync vers un disque externe usb avec l'options --del, ça marche c'est à dire qu'un fichiers qui n'existe plus sur le répertoire source ets détruits par la commande rsync sur le répertoire destination. Mais quand je fais la même chose vers mon pc portable, la suppression ne se fait pas, je ne sais pas comment faire pour que cette suppression fonctionne.
Merci pour vos réponses.
0
mamiemando Messages postés 33306 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 octobre 2024 7 794
12 avril 2015 à 14:21
Voici quelques indications qui devraient te permettre d'y voir plus clair

1) Concernant les histoires d'IP :

- Si les deux machines sont dans le même réseau local, tu dois effectivement utiliser l'IP privée de la machine qui joue le rôle de serveur rsync.
- Si la machine client est extérieure tu dois utilisée l'IP publique de ta box et ta box doit rediriger le port adéquat vers l'IP privée de ton serveur rsync. En d'autres termes, la machine cliente fait "comme si" le serveur rsync était la box, et celle-ci relaye les paquets vers le serveur rsync.

2) Concernant les histoires de permissions :

Vu que le rsync est effectué sur ssh, le client rsync a les même droit que l'utilisateur avec lequel il se connecte.

Supposons que ce soit fait via l'utilisateur "toto", il faut donc que "toto" ait les droits suivants :
- read/execute pour les dossiers à visiter
- read/write/execute pour les dossiers dans lesquels écrire
- read pour les fichiers à copier
- read/write pour les fichiers à écrire

3) Concernant les fichiers pris en compte par rsync :

Il faut vérifier dans quel mesure les fichiers cachés sont pris en compte (selon le comportement que tu attends).

À titre de comparaison
find .
et
find *
n'ont pas le même comportement de même que
ls -a
et
ls
. Dans un cas les fichiers (= fichier régulier ou dossier) cachés (= dont le nom commence par un ".") sont pris en compte, dans l'autre non.

Bonne chance
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
13 avril 2015 à 00:20
Bonsoir, merci beaucoup pour toutes ces explications. En ce qui concerne les histoires d'IP, c'est d'accord, c'est d'ailleurs ce que j'ai fait, vu que mes 2 ordis client et serveur sont sur le même réseau, il faut que j'utilise l'IP privée, ça c'est bon. Ensuite pour les permissions, je vais voir exactement ce que tu me dis de façon à ce qu'un fichier se trouvant sur la machine client est remonté sur le serveur lors de la synchronisation, (ça c'est bon) mais si je détruit ce fichier sur le client, lorsque je synchronise bien que j'ai posiotionné l'option --del ce fichier n'est pas détruit sur le serveur, je dois donc avoir un problème de permission.
Je regarde et je poste dès que j'ai trouvé.
Encore merci pour ton aide.
0