2009-08-05 8 views
4

Nous utilisons actuellement rsync pour exécuter un travail de sauvegarde. Ce travail prend plusieurs heures. Comme certaines parties de la sauvegarde sont plus importantes que d'autres, nous souhaitons nous assurer qu'elles sont sauvegardées avant tout le reste (c'est-à-dire que rsync transfère ces fichiers en premier). Cela devrait être facilement accompli en utilisant rsync --files-from.Commande de fichiers transférés par rsync

Malheureusement, les fichiers que nous devons prioriser sont aux côtés de tous les autres fichiers dans un seul répertoire (hiérarchie plate, boo!), Ils ont juste une extension spécifique pour les identifier. En tant que tel, nous aimerions obtenir une liste des fichiers que rsyncserait transférer, le trier localement, puis le passer à rsync en utilisant rsync --files-from. L'utilisation de rsync -v --dry-run nous permet d'y arriver en grande partie (je pense), mais affiche les ajouts de répertoires et les changements de propriétés de fichiers, ce qui signifie que nous n'avons pas vraiment de liste immédiatement utilisable. Donc, ma question est la suivante: comment puis-je obtenir une liste de fichiers à utiliser à partir de rsync?

Répondre

4

L'exécution de rsync deux fois fonctionnerait-elle? c'est-à-dire l'exécuter une fois pour les fichiers de haute priorité et une fois pour le reste?

+0

Ce serait mon premier essai –

+1

Oui, ça C'est ce que nous avons fini par faire, mais en exécutant rsync 5 fois pour des fichiers de différentes priorités. –

0

Vous pouvez d'abord utiliser rdiff-backup, ou simplement remplacer rsync avec rdiff-backup. Par exemple, vous pouvez obtenir la liste des fichiers avec:

rdiff-backup --compare in-dir [email protected]::out-dir 

Cependant, je voudrais aller avec l'autre suggestion pour essayer deux passes. Avez-vous essayé d'activer la compression?

+0

Malheureusement, nous devons utiliser rsync pour cela. –

1

j'aurais commenté la réponse de @ Alberge mais je n'ai pas assez réputation :-(

@ Daniel, si vous utilisez rsync séparés les commandes que je pourrais faire une suggestion d'utiliser une boucle:

for pp in "*.png" "*.jpg" "*.bmp" "*.gif" 
do 
    rsync ... $pp 
done 

juste une commande rsync pour modifier si vous voulez apporter des modifications et une belle liste facile managable des choses à synchroniser. l'ordre dans l'instruction est l'ordre dans lequel ils sont utilisés.

Questions connexes