62 votes

Rsync - Exclure les fichiers qui dépassent une certaine taille?

Je suis en train de faire une sauvegarde de mon bureau vers une machine distante. Je fais essentiellement rsync -a ~ example.com:backup/ Cependant, il y a plein de gros fichiers, par exemple des dumps de wikipedia, etc. La plupart des fichiers auxquels je tiens beaucoup sont petits, comme les fichiers de cookies de firefox, ou .bashrc. Existe-t-il une invocation à rsync qui exclura les fichiers supérieurs à une certaine taille ? De cette façon, je pourrais copier tous les fichiers de moins de 10MB d'abord, puis tous les autres fichiers. Ainsi, je pourrais faire une sauvegarde rapide des fichiers les plus importants, puis une sauvegarde plus longue de tout le reste.

1 votes

Oui, toutes ces images .iso ou enregistrements d'écran .mov prennent non seulement de la place précieuse, mais aussi du temps précieux. Je suis dans une course contre la montre pour sauvegarder mon ordinateur avant de le remettre aux réparateurs Apple qui effacent vos données même lorsque ce n'est pas nécessaire.

1 votes

Docker.raw est un autre!

96voto

Carling Points 229

Il y a une option max-size:

--max-size=TAILLE         ne transfère aucun fichier plus grand que TAILLE

Donc:

# rsync -rv --max-size=1.5m root@tss01:/tmp/dm

Enverra seulement les fichiers de moins de 1,5m.

Concernant les tailles à partir du manuel: Les suffixes sont les suivants: "K" (ou "KiB") est un kibioctet (1024), "M" (ou "MiB") est un mibioctet (1024*1024), et "G" (ou "GiB") est un gibioctet (1024*1024*1024). Si vous souhaitez que le multiplicateur soit 1000 au lieu de 1024, utilisez "KB", "MB", ou "GB". (Remarque: la minuscule est également acceptée pour toutes les valeurs.) Enfin, si le suffixe se termine par "+1" ou "-1", la valeur sera décalée d'un octet dans la direction indiquée.

9 votes

Notez cependant que --max-size n'est pas un "exclure" réel, selon la page de manuel : Cette option est une règle de transfert, pas une exclusion, donc elle n'affecte pas les données qui entrent dans les listes de fichiers, et donc elle n'affecte pas les suppressions. Elle se contente de limiter les fichiers que le destinataire demande à être transférés.

0 votes

@schlicht Informations précieuses. Alors comment supprimer automatiquement les fichiers qui étaient en dessous de la limite de max-size précédemment et ont maintenant dépassé cette limite en utilisant le drapeau --delete? Existe-t-il une méthode plus intelligente que simplement utiliser la méthode find ensuite?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X