rsync - исключить файлы более определенного размера?

43

Я делаю резервную копию моего рабочего стола на удаленной машине. Я в основном делаю, rsync -a ~ example.com:backup/однако, есть множество больших файлов, например, дампы из Википедии и т. Д. Большинство файлов, которые мне небезразличны, например, файлы cookie firefox или .bashrc. Есть ли какой-нибудь вызов rsync, который исключит файлы, размер которых превышает определенный? Таким образом, я мог сначала скопировать все файлы размером менее 10 МБ, а затем сделать все файлы. Таким образом, я могу сделать быстрое резервное копирование наиболее важных файлов, а затем более длительное резервное копирование всего остального.

Рори
источник
Да, все эти .isoизображения или .movзаписи экрана занимают не только ценное пространство, но и драгоценное время. У меня мало времени для резервного копирования моего компьютера, прежде чем передать его людям Apple iRepair, которые обманывают ваши данные, даже когда в этом нет необходимости.
Шридхар Сарнобат

Ответы:

74

Есть max-sizeвариант:

--max-size=SIZE         don't transfer any file larger than SIZE

Так:

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

Отправит только файлы размером менее 1,5м.

Относительно размеров от человека: суффиксы следующие: «K» (или «KiB») - это кибибайт (1024), «M» (или «MiB») - это мебибайт (1024 * 1024) и «G» ( или "GiB") представляет собой гибибайт (1024 * 1024 * 1024). Если вы хотите, чтобы множитель был 1000 вместо 1024, используйте «КБ», «МБ» или «ГБ». (Примечание: строчные буквы также принимаются для всех значений.) Наконец, если суффикс оканчивается на «+1» или «-1», значение будет смещено на один байт в указанном направлении *

Davey
источник
3
Однако обратите внимание, что --max-size не является настоящим «исключением» с man-страницы: эта опция является правилом передачи, а не исключением, поэтому она не влияет на данные, которые попадают в списки файлов, и, таким образом, это не влияет на удаление. Это просто ограничивает файлы, которые получатель просит передать.
Schlicht