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?
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.
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 .
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/...