Як використовувати rsync для копіювання файлів і тек у Linux

Скопіюйте каталоги та файли за допомогою файлів rsync для Linux. Команда включає додаткові параметри крім звичайних функцій копіювання.

Одна з найкорисніших функцій rsync полягає в тому, що він систематично виключає файли. Таким чином, він створює резервні копії файлів, призначених для архівування, уникаючи всього іншого.

Синтаксис команди

Для правильного використання команди rsync слід дотримуватися правильного синтаксису:

rsync [ОПЦІЯ]... [SRC]... [DEST]
rsync [ОПЦІЯ]... [SRC]... [КОРИСТУВАЧ @] ПРОВІДНА: DEST
rsync [ОПЦІЯ]... [SRC]... [ USER @] HOST:: DEST
rsync [ОПЦІЯ]... [SRC]... rsync: // [USER @] HOST [: ПОРТ ]/DEST
rsync [ОПЦІЯ]... [USER @] Вузол: SRC [DEST]
rsync [ОПЦІЯ]... [USER @] HOST:: SRC [DEST]
rsync [ОПЦІЯ]... rsync: // [USER @] HOST [: ПОРТ ]/SRC [DEST]

Деякі часто використовувані перемикачі включають в себе:

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

Приклади команд

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

Вибіркове копіювання на основі типу файла

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

У цьому прикладі вище всі файли JPG з теки/data/копіюються до теки/backupdata/у теці користувача Jon's Desktop.

Копіювання файлів за розміром

rsync --max-size = 2k/home/jon/робочий стіл/дані//home/jon/робочий стіл/backupdata/

Цей приклад rsync трохи складніший, оскільки він налаштований так, щоб не копіювати файли, якщо їх розмір перевищує 2048 КБ. Тобто копіювати лише файли менше вказаного розміру.

Використовуйте k, m або g, щоб вказати кілобайти, мегабайти і гігабайти в множнику 1024, або kb, mb або gb, щоб використовувати 1000.

rsync --min-size = 30 МБ/home/jon/робочий стіл/дані//home/jon/робочий стіл/backupdata/

Те ж саме можна зробити для - min-size, як ви бачите вище. У цьому прикладі rsync копіює тільки файли розміром 30 МБ або більше.

rsync --min-size = 30mb --progress/home/jon/робочий стіл/дані//home/jon/робочий стіл/backupdata/

Використовуйте параметр - progress, щоб процес працював на 100 відсотків, що зручно, коли ви копіюєте дуже великі файли.

Копіювати цілі теки

rsync --recursive/home/jon/стільниця/дані/home/jon/стільниця/data2

Параметр - recursive надає простий спосіб копіювати всю теку до іншого місця, наприклад, до теки/data2/у наведеному вище прикладі.

Ця команда копіює всю теку і весь її вміст у нове місце.

Виключити деякі файли

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

Скопіюйте всю теку, але виключіть файли з певним розширенням, такі як файли DEB, у цьому прикладі вище. Вся тека/data/копіюється до/backupdata/, як у попередньому прикладі, але всі файли DEB виключаються з копії.