Skip to main content

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

Backup папок, файлов с помощью архиватора по расписанию (tar, cron) (Апрель 2025)

Backup папок, файлов с помощью архиватора по расписанию (tar, cron) (Апрель 2025)
Anonim

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

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

Синтаксис rsync

Для правильной работы команды rsync необходимо следовать правильному синтаксису:

rsync OPTION … SRC … DESTrsync OPTION … SRC … USER @ HOST: DESTrsync OPTION … SRC … USER @ HOST :: DESTrsync OPTION … SRC … rsync: // USER @ HOST : PORT / DESTrsync OPTION … USER @ HOST: SRC DESTrsync OPTION … USER @ HOST :: SRC DESTrsync OPTION … rsync: // USER @ HOST : PORT / SRC DEST

вариант предоставленное выше пространство может быть заполнено рядом вещей. См. РЕЗЮМЕ ВАРИАНТОВ раздел документации rsync для полного списка, но вот несколько примеров:

  • -v, --подробный: Увеличьте многословие
    • --info = ФЛАГИ : Мелкозернистая информационная многословие
    • --debug = ФЛАГИ : Мелкозернистая отладочная многословие
    • --msgs2stderr: Специальная обработка вывода для отладки
  • -q, --тихо: Запретить сообщения об ошибках
    • --no-MOTD: Подавить демон-режим MOTD
  • , --checksum: Пропустить на основе контрольной суммы, а не времени и размера
  • , --recursive: Регистрация в каталогах
  • -b, --резервное копирование: Сделать резервные копии
    • --backup-Dir = DIR : Создание резервных копий в иерархию, основанную на DIR
    • --suffix = СУФФИКС : Суффикс резервного копирования
  • -d, --dirs: Передача каталогов без рекурсии

Примеры rsync

Вот лишь несколько примеров использования rsync с некоторыми из этих опций:

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

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

В этом выше примере все файлы JPG из /данные/ папка скопированы в /Резервные данные/ в папке пользователя Jon's Desktop.

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

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

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

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

rsync --min-size =30mb --прогресс / home / jon / Desktop / data / / home / jon / Desktop / backupdata /

Когда вы используете rsync для копирования больших файлов, таких как 30 МБ и более, и особенно когда их несколько, вы можете увидеть прогресс функции копирования вместо того, чтобы предположить, что команда замерзает. В этих случаях используйте --прогресс возможность наблюдать за процессом до 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 в этом примере выше. На этот раз весь /данные/ папка скопирована в /Резервные данные/ как в предыдущем примере, но все файлы DEB исключаются из копии.