web-dev-qa-db-fra.com

Sauvegarde de fichiers de dossiers spécifiques dans rsync

Comment puis-je spécifier des fichiers spécifiques à inclure/exclure dans grsync/rsync?

Actuellement, j'utilise différentes opérations pour sauvegarder des fichiers à partir de dossiers spécifiques. Je veux le faire maintenant en 1 passage. Je pense que je devrais regarder les options d'inclusion/exclusion?

Supposons que j'ai une structure de dossier comme

/
  /inc1
    /inc1.1
    /...
  /inc2
    /...
  /exc1
  files in root here ... 

Je veux uniquement sauvegarder les fichiers/dossiers de inc1 et inc2, comment puis-je le faire?

6
Jiew Meng

Vous pouvez utiliser les options --include et --exclude ou pour un processus de sauvegarde, vous pouvez utiliser --include-from afin de pouvoir répertorier les dossiers que vous souhaitez sauvegarder dans un fichier.

Par exemple, votre fichier peut s'appeler includes.txt et être sauvegardé dans votre répertoire personnel. Il contiendrait

  inc1/
  inc2/

Et la commande rsync pour sauvegarder les dossiers inc1 et inc2 dans votre répertoire personnel serait

rsync $HOME --include-from=~/includes.txt /home/backup/

rsync est très flexible, vous feriez mieux de consulter la page de manuel en premier et si vous êtes bloqué, vous posez une question plus précise.

4
Richard Holloway

Pour n'inclure que des répertoires spécifiques, incluez-les avec leur contenu, puis excluez *. Si les répertoires ne sont pas à la racine, vous devez inclure tous les répertoires qui y mènent. Par exemple, pour n'inclure que /source/inc1, /source/inc2 et /source/also/included:

rsync -a --include='/inc1/***' --include='/inc2/***' \
         --include='/also' --include='/also/included/***' \
         --exclude='*' /source /target

Voir aussi guide rapide des filtres rsync courants .

4
Gilles

Peut-être qu'il me manque quelque chose, mais vous pouvez simplement spécifier ces dossiers à rsync:

rsync -Pav /inc1 /inc2 /path/to/backup/folder/

Cela va créer:

/path/to/backup/folder/inc1/
/path/to/backup/folder/inc1/inc1.1/
/path/to/backup/folder/inc1/...
/path/to/backup/folder/inc2/
/path/to/backup/folder/inc2/...
3
Jeremy Kerr