Основна команда rsync для бітових копій


17

Наскільки я не розумію, наступна команда:

sudo rsync --delete -azvr /home/oshiro/Desktop/source/ /home/oshiro/Desktop/destination

Це все, що мені потрібно для створення простої синхронізації файлів з 1 місця в інше? Або вищезазначена команда робить щось більше на задньому плані, про яке я не знаю? Наприклад, чи створює вона якусь версію, де я можу вказати минулий час, щоб отримати файли, як де вони були передані?

Це особливість, яку я не хочу вмикати на цьому етапі. Все, що я хочу, - це бітова ідентична копія файлів з 1 місця в інше. Чи можу я позбутися будь-якого з цих параметрів або мені потрібно додати інші параметри, щоб зробити копії бітовими ідентичними без версій. В основному, я не хочу створювати резервні копії, як система резервного копіювання Mac часу створює резервні копії.

Відповіді:


17

Rsync не проводить жодної версії та не зберігає будь-яку історію, якщо вона не проінструктована такими параметрами, як --backup. Існують засоби резервного копіювання, які використовують rsync, але сама rsync - це не резервний інструмент, який складає більше ніж чотири колеса. Rsync просто обробляє синхронізацію.

Щодо варіантів, які ви використовували чи хочете використати:

  • -aозначає "копіювати майже все" (копіювати каталоги рекурсивно, копіювати символічні посилання як такі, зберігати всі метадані тощо). Використовуйте цей варіант, якщо ви робите щось незвичне.
  • Крім цього -a, ви можете використовувати -Hдля збереження жорстких посилань, -Aдля збереження ACL ( -aлише збереження традиційних дозволів Unix) або -Xдля збереження розширених атрибутів.
  • -rвже включено до -a.
  • -v означає багатослівний.
  • -z є марною для локальної копії.
  • --delete видаляє файли в пункті призначення, які відсутні в джерелі.

Отже, це основна команда зробити призначення ідентичним джерелу (відсутні жорсткі посилання, ACL та розширені атрибути):

rsync -a --delete SOURCE/ DESTINATION/

5

Я зазвичай використовую команду з цієї відповіді . Перевага полягає в тому, що він також зберігає розширені атрибути та ACL.

rsync -avxHAX --progress / /new-disk/

Варіанти:

-a  : all files, with permissions, etc..
-v  : verbose, mention files
-x  : stay on one file system
-H  : preserve hard links (not included with -a)
-A  : preserve ACLs/permissions (not included with -a)
-X  : preserve extended attributes (not included with -a)

3

Ця команда повинна бути всім, що вам потрібно. rsyncза замовчуванням використовує те, що називається алгоритмом швидкої перевірки:

Rsync знаходить файли, які потрібно перенести за допомогою алгоритму «швидкої перевірки» (за замовчуванням), який шукає файли, які змінилися за розміром або за останній час. Будь-які зміни в інших збережених атрибутах (за запитом опцій) вносяться безпосередньо в файл призначення, коли швидка перевірка показує, що дані файлу не потрібно оновлювати.

У більшості застосувань це часто добре. Це швидше, ніж альтернативний метод, який обчислює контрольну суму для кожного файлу. Цей другий метод гарантує відстеження відмінностей, які можуть ковзати за першим методом.

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

Метод контрольної суми

Якщо вам цікаво ось комутація, яку я використовую rsyncдля здійснення цього типу синхронізації:

$ rsync -avvz -O --stats --checksum --human-readable --acls \
    --itemize-changes --progress \
    --out-format='[%t] [%i] (Last Modified: %M) (bytes: %-10l) %-100n' \
    "SRC" "DEST"

Це генерує такий тип виводу:

2014/02/20 09:51:49 INFO sending incremental file list 
2014/02/20 09:51:49 INFO delta-transmission disabled for local transfer or --whole-file 
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [.d..t......] (Last Modified: 2014/02/19-15:51:34) (bytes: 0         ) ./
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [>f+++++++++] (Last Modified: 2014/02/19-15:51:33) (bytes: 27981892  ) somefile.zip
      27.98M 100%   82.27MB/s    0:00:00 (xfer#1, to-check=0/2) 0
2014/02/20 09:51:49 INFO total: matches=0  hash_hits=0  false_alarms=0 data=27981892 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25205] (sender) heap statistics: 
2014/02/20 09:51:49 INFO   arena:        1060864   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            1   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             4 
2014/02/20 09:51:49 INFO   hblks:              1   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        135168   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:       1196032   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          304 
2014/02/20 09:51:49 INFO   uordblks:      667008   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:      393856   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:      393552   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25207] (server receiver) heap statistics: 
2014/02/20 09:51:49 INFO   arena:         286720   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            2   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             3 
2014/02/20 09:51:49 INFO   hblks:              3   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        667648   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:        954368   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          224 
2014/02/20 09:51:49 INFO   uordblks:      174480   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:      112240   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:      102352   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25206] (server generator) heap statistics: 
2014/02/20 09:51:49 INFO   arena:         135168   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            2   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             6 
2014/02/20 09:51:49 INFO   hblks:              2   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        401408   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:        536576   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          400 
2014/02/20 09:51:49 INFO   uordblks:       82960   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:       52208   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:       32816   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO Number of files: 2 
2014/02/20 09:51:49 INFO Number of files transferred: 1 
2014/02/20 09:51:49 INFO Total file size: 27.98M bytes 
2014/02/20 09:51:49 INFO Total transferred file size: 27.98M bytes 
2014/02/20 09:51:49 INFO Literal data: 27.98M bytes 
2014/02/20 09:51:49 INFO Matched data: 0 bytes 
2014/02/20 09:51:49 INFO File list size: 93 
2014/02/20 09:51:49 INFO File list generation time: 1.277 seconds 
2014/02/20 09:51:49 INFO File list transfer time: 0.000 seconds 
2014/02/20 09:51:49 INFO Total bytes sent: 27.99M 
2014/02/20 09:51:49 INFO Total bytes received: 34 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO sent 27.99M bytes  received 34 bytes  11.20M bytes/sec 
2014/02/20 09:51:49 INFO total size is 27.98M  speedup is 1.00 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.