Как использовать rsync для копирования файлов и папок в Linux

Используйте эти примеры rsync, чтобы узнать, как копировать из командной строки

rsync – это программа для передачи файлов для Linux, которая позволяет копировать каталоги и файлы с помощью простой команды. Команда включает в себя дополнительные параметры помимо традиционной функции копирования.

Одна из наиболее полезных функций rsync заключается в том, что когда вы используете его для копирования каталогов из командной строки, вы можете систематически исключать файлы. Таким образом, если вы используете rsync для создания резервных копий файлов, вы можете сделать так, чтобы он создавал резервные копии только тех файлов, которые вы хотите заархивировать, избегая всего остального.

Синтаксис rsync

Правильное использование команды rsync требует правильного синтаксиса:

 rsync [ОПЦИЯ] ... [SRC] ... [DEST] 
rsync [ОПЦИЯ] ... [SRC] ... [ПОЛЬЗОВАТЕЛЬ @] ВЕДУЩАЯ: DEST
rsync [ВАРИАНТ ] ... [SRC] ... [USER @] HOST :: DEST
rsync [ОПЦИЯ] ... [SRC] ... rsync: // [USER @] HOST [: PORT]/DEST
rsync [ОПЦИЯ] ... [ПОЛЬЗОВАТЕЛЬ @] ХОСТ: SRC [DEST]
rsync [ВАРИАНТ] ... [ПОЛЬЗОВАТЕЛЬ @] ХОСТ :: SRC [ДЕСТ]
rsync [ВАРИАНТ ] ... rsync: // [ПОЛЬЗОВАТЕЛЬ @] ХОСТ [: ПОРТ]/SRC [DEST]

Предоставленное выше пространство option может быть заполнено рядом параметров. Полный список приведен в разделе ОБЗОР ОПЦИЙ документации rsync, но вот несколько распространенных примеров:

  • -v , –verbose : увеличьте детализацию (более подробно рассказывается о том, что делает команда).
    • – info = FLAGS . Предоставляет подробные информационные сообщения.
    • – debug = FLAGS . Предоставляет подробные сообщения отладки.
    • – msgs2stderr : специальная обработка вывода для отладки.
  • -q , –quiet . Подавляет сообщения, не связанные с ошибками.
    • – no-motd : подавляет сообщение дня в режиме демона (MOTD).
  • -c , –checksum : пропускает файлы на основе контрольной суммы, а не времени и размера мода.
  • -r , –recursive . Просмотрите дополнительные подкаталоги.
  • -b , –backup : создавайте резервные копии.
    • – backup-dir = DIR . Делайте резервные копии в соответствующей иерархии каталогов.
    • – суффикс = SUFFIX . Добавляет текст суффикса в конец файлов резервной копии.
  • -d , –dirs : переносить только каталоги, не просматривая их.

Примеры rsync

Ниже приведено несколько примеров использования rsync с некоторыми из этих опций.

В каждом из этих примеров текст, выделенный жирным шрифтом, изменить нельзя, поскольку он является частью команды. Как вы можете заметить, пути к папкам и другие параметры настраиваются в наших конкретных примерах, поэтому они будут отличаться при их использовании.

  rsync /home/jon/Desktop/data/*. jpg/home/jon/Desktop/backupdata/

В этом примере выше все файлы JPG из папки /data/ копируются в папку /backupdata/ в папке рабочего стола пользователя Jon.

Копирование файлов по размеру

  rsync --max-size =  2k/home/jon/Desktop/data// home/jon/Desktop/backupdata/

Этот пример rsync немного сложнее, поскольку он настроен на не копировать файлы, если их размер превышает 2048 КБ. То есть копировать только файлы меньше указанного размера.

Вы можете использовать k, m, или g , чтобы указать килобайты, мегабайты и гигабайты в множителе 1024, или кб , мб или gb , чтобы использовать 1000.

  rsync --min-size =  30 МБ/home/jon/Desktop/data// home/jon/Desktop/backupdata/

То же самое можно сделать для – min-size , как вы видели выше. В этом примере rsync будет копировать только файлы размером 30 МБ или более.

  rsync --min-size =  30 МБ  --progress /home/jon/Desktop/data// home/jon/Desktop/backupdata/

Когда вы используете rsync для копирования файлов очень большого размера, например, 30 МБ и более, особенно если их несколько, возможно, вы захотите увидеть ход выполнения функции копирования, чтобы знать, что команда обрабатывает. В этих случаях используйте параметр – progress , чтобы процесс работал до 100%.

Копировать целые папки

  rsync --recursive /home/jon/Desktop/data/home/jon/Desktop/data2 

Параметр – recursive предоставляет простой способ скопировать всю папку в другое место, например в папку /data2/ в приведенном выше примере.

Эта команда скопирует всю папку и все ее содержимое в новое место.

Исключить некоторые файлы

  rsync -r --exclude = "* .deb  "/home/jon/Desktop/data/home/jon/Desktop/backupdata 

Вы также можете скопировать всю папку, но исключить файлы с определенным расширением, например, файлы DEB в этом примере выше.

В этом примере вся папка /data/ копируется в /backupdata/, как и в предыдущем примере, но все файлы DEB исключаются из копии.

Оцените статью
Solutics.ru
Добавить комментарий