• LINUX > rsync en guise de RAID-1

       

      rsync -a source/ destination/

       

      -a pour la récursivité et préserver pratiquement tout.

       

      / pour ne pas créer un nouveau dossier nommé source.

      Ainsi, les deux commandes suivantes ne sont pas équivalentes :

       

      rsync source destination/
      rsync source/ destination/

       

      La première commande va créer un dossier source dans le dossier destination en ajoutant un niveau dans l’arborescence.

      La deuxième commande copie le contenu du dossier source dans le dossier destination.

       

      Autrement dit, les deux commandes suivantes sont, elles, équivalentes :

       

      rsync source destination/
      rsync source/ destination/source/

       

      EXEMPLE

       

      copie à l’identique le dossier <source> vers le dossier <destination> :

       

      rsync -av --delete-after /home/source user@ip_du_serveur:/dossier/destination/

       

      --delete-after à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source.

      -v verbeux

       

      -n la commande liste ce qu’elle va faire sans l’exécuter:

       

      rsync -avzn --delete-after /chemin/source toto@192.168.0.3:/chemin/dest/

      Exclure des fichiers

      Pour ne pas sauvegarder le dossier_1 et le dossier_2 :

       

      rsync --exclude="dossier_1" --exclude="dossier_2" source/ destination/

       

      ———

       

      rsync -t *.c /src/

       

      transfère tous les fichiers *.c du répertoire courant vers le répertoire src

       

      rsync -av /src/bar /dest/tmp

       

      Les fichiers sont transférés en mode «archive», ce qui assure la préservation des liens symboliques, périphériques, attributs, permissions, propriétés, etc lors du transfert.

       

      rsync -av /src/bar/ /dest/tmp

      LISTE DES OPTIONS

      -v verbeux

      -q silencieux

      -c utilise la somme de contrôle, pas la date ni la taille

      -a mode archivage; identique à -rlptgoD (pas -H)

      -r visite récursive des répertoires

      -R utilise des noms de chemins relatifs

      --no-relative désactive --relative

      --no-implied-dirs ne transmet pas les répertoires implicites de -R

      -b, --backup effectue des sauvegardes (cf. --suffix et --backup-dir)

      --backup-dir=RÉP effectue des sauvegardes dans le répertoire RÉP

      --suffix=SUFFIXE suffixe de sauvegarde («~» par défaut sauf si --backup-dir)

      -u, --update saute les fichiers plus récents chez le destinataire

      --inplace mise à jour de fichiers sur place

      -d, --dirs ne transfert pas les répertoires récursivement

      -l, --links copie les liens symboliques comme liens symboliques

      -L, --copy-links transforme les liens symboliques par les fichiers référencés

      --copy-unsafe-links ne transforme que les liens «non-sûrs»

      --safe-links ignore les liens extérieurs à l’arborescence

      -H, --hard-links préserve les liens matériels

      -K, --keep-dirlinks traite les liens de répertoire comme des répertoires

      -p, --perms préserve les permissions

      -o, --owner préserve le propriétaire (root uniquement)

      -g, --group préserve le groupe

      -D, --devices préserve les périphériques (root uniquement)

      -t préserve les dates

      -O, --omit-dir-times omet les répertoires lors de la préservation de date

      -S, --sparse traite les fichiers à trous efficacement

      -n, --dry-run montre ce qui aurait été transféré

      -W, --whole-file copie les fichiers entiers (jamais l’algorithme rsync)

      --no-whole-file toujours utiliser l’algorithme rsync incrémental

      -x, --one-file-system ne traverse pas les limites du système de fichiers

      -B, --block-size=TAILLE force la taille de bloc de la somme de contrôle

      -e, --rsh=COMMANDE spécifie un shell distant

      --rsync-path=PROGRAMME spécifie le nom de l’exécutable rsync chez le récepteur

      --existing met à jour uniquement les fichiers qui existent déjà

      --ignore-existing ignore les fichiers qui existent déjà

      --remove-sent-files les fichiers envoyés sont supprimés de chez l’émetteur

      --del synonyme pour --delete-during

      --delete efface les fichiers qui n’existent pas chez l’émetteur

      --delete-before efface avant le transfert (par défaut)

      --delete-during efface au cours du transfert, pas avant

      --delete-after efface après transfert, pas avant

      --delete-excluded efface également les fichiers exclus côté réception

      --ignore-errors efface même s’il y a eu des erreurs E/S

      --force force la suppression de répertoires même non-vides

      --max-delete=NUM n’efface pas plus de NUM fichiers

      --max-size=TAILLE ne transfert le fichiers plus gros que TAILLE

      --partial conserve les fichiers partiellement transférés

      --partial-dir=RÉP place les fichiers partiellement transférés dans RÉP

      --delay-updates ne remplace les fichiers mis à jour qu’à la fin

      --numeric-ids ne remplace pas les uid/gid par des noms d’utilisateur/groupe

      --timeout=DURÉE fixe la durée d’attente E/S en secondes

      -I, --ignore-times ne saute pas les fichiers similaires par la taille et la date

      --size-only saute les fichiers qui sont similaires par la date

      --modify-window=NUM compare les dates avec une précision moins fine

      -T, --temp-dir=RÉP crée des fichiers temporaires dans le répertoire RÉP

      -y, --fuzzy se base sur des fichiers similaires si le fichier manque

      --compare-dest=RÉP compare les fichiers transmis également à RÉP

      --copy-dest=RÉP …et inclut les fichiers non modifiés

      --link-dest=RÉP crée un lien matériel vers les fichiers de RÉP si non modifiés

      -z, --compress transfert en compressant les données

      -C, --cvs-exclude ignore automatiquement des fichiers, comme le ferait CVS

      -f, --filter=RÈGLE ajoute une règle de filtrage de fichier

      --exclude=MOTIF exclut les fichiers correspondant au MOTIF

      --exclude-from=FICHIER lit des motifs d’exclusion depuis FICHIER

      --include=MOTIF n’exclut pas les fichiers correspondant au MOTIF

      --include-from=FICHIER lit des motifs d’inclusion depuis FICHIER

      --files-from=FICHIER lit des fichiers à transférer depuis FICHIER

      -0, --from0 tous les fichiers des *-from/filtres sont séparés par 0

      --address=ADRESSE se lie à l’adresse pour la connexion sortante vers le démon

      --port=PORT spécifie un autre numéro de port rsyncd

      --blocking-io utilise des E/S bloquantes pour le shell distant

      --no-blocking-io désactive les E/S bloquantes

      --stats affiche quelques statistiques de transfert de fichiers

      --progress montre l’avancement pendant le transfert

      -P équivalent à --partial --progress

      -i, --itemize-changes affiche un résumé des changements pour chaque mise à jour

      --log-format=FORMAT affiche les noms fichiers selon le format spécifié

      --password-file=FICHIER lit le mot de passe depuis FICHIER

      --list-only liste les fichiers au lieu de les copier

      --bwlimit=KBPS limite la bande passante E/S, En ko par seconde

      --write-batch=FICHIER enregistre les modifications dans FICHIER

      --only-write-batch=FICHIER comme --write-batch sans mettre à jour la destination

      --read-batch=FICHIER exécute le fichier de modification FICHIER

      Synchroniser deux répertoires en local

      rsync -vr /chemin/source/ /chemin/destination

       

      -v verbeux

      -r récursive

      Préserver le timestamp

      rsync -azv /src/ /dest/

      Synchroniser un seul fichier

      rsync -v /source/fichier /dest/

      Ne pas écraser les fichiers modifiés en Destination

      In a typical sync situation, if a file is modified at the destination, we might not want to overwrite the file with the old file from the source.

      -u do exactly that. In the following example, the file called Basenames is already modified at the destination. So, it will not be overwritten with rsync -u.

       

      rsync -avzu /var/lib/rpm /root/temp

      Synchroniser uniquement l’arborescence (et pas les fichiers)

      rsync -v -d /var/lib/ .

      Afficher la progression durant le transfert

      rsync -avz --progress /chemin/ /root/temp/

      effacer les fichiers Dest si pas présents dans Source

      Si un fichier présent dans le dossier de destination n’est plus présent dans le dossier de Source, on le supprime grâce à --delete :

       

      rsync -avz --delete /chemin/ .

      mettre uniquement à jour les fichiers déjà existants

      rsync -avz --existing /var/lib/rpm/ .

      View the Changes Between Source and Destination

      In the output it displays some 9 letters in front of the file name or directory name indicating the changes.

       

      rsync -avzi /var/lib/rpm/ /root/temp/

      inclure ou exclure des fichiers

      ex: inclure tous les fichiers ou dossiers commençant par P et exclure tous les autres.

      Attention, le chemin des excludes est relatif au chemin de Source.

       

      rsync -avz --include 'P*' --exclude '*' /source/ /dest/

      Do Not Transfer Large Files

      max-size=100K fichiers inférieur ou égal à 100K (M pour megaoctet - G pour gigaoctet)

       

      $ rsync -avz --max-size='100K' toto@192.168.0.10:/var/lib/rpm/ /root/temp/

       

       

 

Aucun commentaire

 

Laissez un commentaire