Как исключить файлы определенного размера из копирования в Linux
Несколько дней назад я объяснил, как сделать резервную копию всей вашей системы Linux с помощью утилиты Rsync. Одна из проблем, с которой я столкнулся в процессе резервного копирования, заключалась в том, что копирование некоторых файлов большого размера занимало много времени. Мне пришлось скопировать несколько фильмов размером более 3 ГБ. Итак, я подумал, что было бы лучше, если бы я мог просто исключить большие файлы или любые неважные файлы, чтобы завершить резервное копирование как можно скорее. Итак, я смогу скопировать остальные файлы, когда у меня будет свободное время. Если вы когда-либо оказывались в такой же ситуации, как я, вот простой способ исключить файлы определенного размера из копирования с помощью команды rsync и/или find в Unix-подобных операционных системах. .
Исключить файлы определенного размера из копирования в Linux
Как я уже сказал, мы можем сделать это с помощью команды rsync или find.
Исключить файлы определенного размера из копирования с помощью команды «rsync»
Читая справочные страницы команды rsync, я узнал, что существует возможность исключить файлы определенного размера из копирования. Вы можете просто исключить их из копирования. Когда у вас появится свободное время, вы сможете скопировать остальные исключенные файлы.
Допустим, вы хотите исключить размер более 5 МБ. Все, что вам нужно сделать, это использовать параметр "--max-size=SIZE" с командой rsync. Этот вариант не будет передавать файлы размером больше указанного.
Позвольте мне показать вам простой пример.
rsync -rv --max-size=5m /home/sk/Downloads/ /home/sk/ostechnix/
Здесь,
- rsync – быстрый, универсальный инструмент локального и удаленного копирования файлов.
- -rv – рекурсивный и подробный режим
- --max-size=5m — файлы размером более 5 МБ не передаются.
- /home/sk/Downloads/ – исходный каталог.
- /home/sk/ostechnix/ — каталог назначения.
Приведенная выше команда скопирует все файлы размером менее 5 МБ из каталога /home/sk/Downloads/ в каталог /home/sk/ostechnix/. Он исключит все файлы размером более 5 МБ.
Хотите знать, что будет делать каждый аргумент команды Linux? См. следующую ссылку.
- ExplainShell: узнайте, что делает каждая часть команды Linux
Вы также можете использовать "--min-size=SIZE", чтобы перенести любой файл, размер которого меньше указанного.
Например, чтобы перенести файлы размером менее 10 МБ, выполните следующую команду:
rsync -rv --min-size=10m /home/sk/Downloads/ /home/sk/ostechnix/
Исключить файлы определенного размера из копирования с помощью команды «Найти»
Мы также можем исключить файлы определенного размера из копирования с помощью команд find и cp.
Взгляните на следующую команду:
find . -size -10M -exec cp -r {} /home/sk/ostechnix/ \;
Приведенная выше команда найдет все файлы размером менее 10 МБ в текущем каталоге и скопирует их в каталог /home/sk/ostechnix/.
Рекомендуем прочитать:
- Как быстро передавать большие файлы по сети в Linux и Unix
- Как узнать размер каталога в Linux из командной строки
И это все. Знаете ли вы какой-нибудь другой простой способ скопировать файлы только определенного размера и исключить остальные? Не стесняйтесь, дайте нам знать в разделе комментариев ниже. Скоро я буду здесь с еще одним интересным гидом. А до тех пор следите за обновлениями OSTechNix.
Ваше здоровье!