rsync pour copier des fichiers qui ont changé


42

Je dois copier quotidiennement des fichiers d'un répertoire particulier vers un emplacement différent. Je veux copier les modifications uniquement, afin de planifier l'utilisation rsync. Ces fichiers suivent la convention de nommage suivantemysql-bin.*

Ma commande ressemble à ce qui suit

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

Ma confusion vient du fait que je prévois de ne copier que quelques fichiers d'un répertoire plutôt que de tout le contenu du répertoire, j'avais l'habitude * de copier uniquement les fichiers requis. Je veux juste savoir si ma commande est correcte pour obtenir le même résultat.

Réponses:


51

Ça a l'air bien. Pourquoi utilisez-vous l' -zoption pour compresser le transfert? Cette option est normalement utilisée lorsque vous copiez sur un serveur rsync distant sur un réseau lent. Dans ce cas, les fichiers seront compressés et décompressés instantanément, ce qui n'augmentera votre utilisation de la CPU sans aucun avantage.

L' -aoption (archive) implique l'option -r(récursive), il n'est donc pas nécessaire de le spécifier explicitement sur la ligne de commande.

Vous pouvez utiliser l' -noption (ou --dry-run) pour vérifier votre commande. Il montrera ce qu'il ferait sans copier réellement aucun fichier. Pour voir réellement ce qui se passe, vous devez également utiliser l' -voption (ou --verbose).

Par conséquent:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

et une fois que vous êtes satisfait que les fichiers sont listés correctement sur le dry-run, supprimez le nv:

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

3
Comme il est dit dans la page de manuel, le --dry-rundrapeau est le plus couramment utilisé conjointement avec le --verbosedrapeau
Benjamin Leinweber
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.