Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
informatique:linux:rsync [2009/08/24 14:29] benoit |
informatique:linux:rsync [2018/09/06 19:10] (Version actuelle) |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Rsync ====== | ====== Rsync ====== | ||
| + | |||
| + | |||
| + | |||
| + | ===== Client ===== | ||
| + | |||
| + | Pour synchroniser les fichiers du serveur local avec le serveur distant : | ||
| + | rsync -Pav --numeric-ids /home/* root@remote:/home/* | ||
| Pour synchroniser les fichiers du serveur local avec le serveur distant : | Pour synchroniser les fichiers du serveur local avec le serveur distant : | ||
| rsync -lrvcpogtu /home/* root@remote:/home/* | rsync -lrvcpogtu /home/* root@remote:/home/* | ||
| - | Pour niveau block : | + | Pour synchroniser les fichiers du serveur local avec le serveur distant en écrasant les fichiers modifiés : |
| - | rsync -u --inplace --stats file.tar.gz root@127.0.0.1:/root/file-bkp.tar.gz | + | rsync -lrvcpogt --inplace /home/* root@remote:/home/* |
| + | |||
| + | Pour niveau block il ne faut pas utiliser l'option **-c** checksum, de plus la synchronisation est plus rapide (le checksum est souvent long à faire) : | ||
| + | rsync -lrvpogt --inplace --stats /home/* root@127.0.0.1:/home/* | ||
| + | |||
| + | Pour synchroniser le partage **rsync** nommé **ftp** vers votre serveur : | ||
| + | rsync rsyncserver::ftp/* . | ||
| + | |||
| + | Pour sauvegarder uniquement les fichier *.doc* et exclure tous les autres fichiers. | ||
| + | rsync -r rsync://user@remote-server/TEST --include=**.doc* --filter="-! */" . | ||
| + | |||
| + | Remarque importante : deux étoiles sont nécessaires sur "* *.doc*" pour que cela fonctionne. | ||
| + | |||
| + | |||
| + | ===== Serveur ===== | ||
| + | |||
| + | Installer le paquetage : | ||
| + | apt-get install rsync | ||
| + | |||
| + | Copier le fichier de configuration : | ||
| + | cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/rsyncd.conf | ||
| + | |||
| + | Editer le fichier ''/etc/rsyncd.conf'' et modifier selon votre besoin, exemple ci-dessous : | ||
| + | # sample rsyncd.conf configuration file | ||
| + | |||
| + | # GLOBAL OPTIONS | ||
| + | |||
| + | #motd file=/etc/motd | ||
| + | log file=/var/log/rsyncd | ||
| + | # for pid file, do not use /var/run/rsync.pid if | ||
| + | # you are going to run rsync out of the init.d script. | ||
| + | pid file=/var/run/rsyncd.pid | ||
| + | #syslog facility=daemon | ||
| + | #socket options= | ||
| + | |||
| + | # MODULE OPTIONS | ||
| + | |||
| + | [ftp] | ||
| + | comment = public archive | ||
| + | path = /var/www/pub | ||
| + | use chroot = yes | ||
| + | # max connections=10 | ||
| + | lock file = /var/lock/rsyncd | ||
| + | # the default for read only is yes... | ||
| + | read only = yes | ||
| + | list = yes | ||
| + | uid = nobody | ||
| + | gid = nogroup | ||
| + | # exclude = | ||
| + | # exclude from = | ||
| + | # include = | ||
| + | # include from = | ||
| + | # auth users = | ||
| + | # secrets file = /etc/rsyncd.secrets | ||
| + | strict modes = yes | ||
| + | |||
| + | # ici uniquement 192.168.40.197 est acceptée, toutes les autres adresses IP sont rejetées | ||
| + | hosts allow = 192.168.40.197 | ||
| + | hosts deny = * | ||
| + | ignore errors = no | ||
| + | ignore nonreadable = yes | ||
| + | |||
| + | # ici les logs sont activés | ||
| + | transfer logging = yes | ||
| + | # log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes. | ||
| + | timeout = 600 | ||
| + | refuse options = checksum dry-run | ||
| + | dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz | ||
| + | |||
| + | |||
| + | |||
| + | Editer le fichier ''/etc/inetd.conf'' en ajoutant la ligne suivante : | ||
| + | rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon | ||
| + | |||
| + | Redémarrer inetd : | ||
| + | /etc/init.d/openbsd-inetd reload | ||
| + | |||
| + | Pour créer des partages **rsync** prendre exemple sur la section **[ftp]** du fichier ''/etc/rsyncd.conf'' | ||