Несколько дней назад, мы писали, как сделать резервное копирование всей вашей системы Linux с помощью утилиты rsync. Одна из проблем, с которой можете столкнуться во время процесса резервного копирования, это большие по размеру файлы, которые могут занять очень много времени для копирования, допустим фильмы, размер которых более 3GB. Итак, было бы лучше, если бы мы смогли просто исключить большие файлы или менее важные файлы для завершения резервного копирования как можно скорее. Затем мы сможем скопировать оставшиеся файлы каждый раз, когда у вас найдется свободное время. Если вы когда – нибудь были в такой же ситуации, то это не проблема. Мы покажем вам простой трюк, чтобы исключить некоторые файлы заданного размера.
В этом кратком руководстве мы увидим, как исключить некоторые файлы с определенным размером от копирования с использованием rsync и команды find в Unix-подобных операционных систем.
Исключить определенный размер файлов от копирования в Linux
Мы можем сделать это либо с помощью команд rsync или find.
Исключение определенного размера файлов от копирования с помощью команды «rsync»
При чтении через страницу man команды rsync, мы узнали, что есть возможность исключить определенные файлы размера от копирования. Вы можете просто опустить их от копирования. Если у вас есть свободное время, вы можете скопировать остальную часть исключенных файлов.
Допустим, вы хотите исключить больше, чем 5GB в размере. Все, что вам нужно сделать , это использовать вариант «-max размер = SIZE» с помощью команды rsync. Эта опция не будет передавать файл размером более указанного размера.
Позвольте нам показать вам простой пример.
rsync -rv --max-size=5m /home/sk/Downloads/ /home/sk/andreyex/
Вот,
- rsync – быстрый, универсальный, локальный и удаленный инструмент копирования файлов
- -rv – рекурсивный и многопотоковый режим
- -max размер=5m – не будет передавать файлы размером более 5 МБ.
- /home/sk/Downloads/ – исходный каталог
- /home/sk/andreyex/ – директория назначения.
Эта команда будет копировать все файлы меньше 5МБ из каталога /home/sk/Downloads/ в каталог /home/sk/andreyex/. И исключит все файлы больше 5 МБ.
Вы можете также использовать «-min-SIZE = SIZE» , чтобы передать любой файл меньше указанного размера.
Например, для передачи файлов, которые меньше, чем 10 МБ, выполните следующую команду:
rsync -rv --min-size=10m /home/sk/Downloads/ /home/sk/andreyex/
Исключить некоторые файлы с определенным размером от копирования с помощью команды find
Мы также можем исключить некоторые файлы с определенным размером от копирования с помощью команд find и cp.
Посмотрите на следующую команду:
find . -size -10M -exec cp -r {} /home/sk/andreyex/ \;
Эта команда найдет все файлы менее 10 МБ в текущем каталоге и скопирует их в каталог /home/sk/andreyex/.