Як RSYNC робить додаткові резервні копії


14

Як rsyncдізнатися, які файли змінюються, а які - ні? Чи він записує свої дані де-небудь у файлі?

Тому що я хочу робити додаткові резервні копії, але спочатку він передасть усі файли.

Отже, моє головне питання: якщо я завантажую початкові файли через FTP, але не за допомогою rsync. Буде rsyncвсе ж пропускати ті наявні файли, або він завантажить все під час першого запуску.

Відповіді:


12

Rsync має ряд прапорів, які контролюють те, на що він буде дивитись, і що буде копіювати до місця призначення. Найчастіше використовується прапор "-a", який є прапором "Архів", це, мабуть, те, що ви хочете. запустіть rsync з прапорами "-av" і дозвольте це зробити перший запуск даних, які потрібно створити. Наступного разу він запустить блок-контрольну суму файлу, і копіюватиме лише ті частини, які були змінені на існуючих файлах, копіювати нові файли та видаляти файли, яких уже немає. Перевірте розділ параметрів "-a" на:

http://linux.die.net/man/1/rsync

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

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

Якщо ви хочете записати те, що було змінено, ви можете скористатися параметром "--log-file". Загалом щось подібне звучить як те, що ви хочете:

rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups

9

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

спрощення процесу:

  • спочатку перевіряє розмір файлу, дати створення / модифікації, прапори ... якщо він все ідентичний, пропустіть файл.
  • якщо в цілі немає файлу з таким ім'ям, просто скопіюйте весь файл.
  • якщо файл є цільовим, він обчислює контрольні суми для кожного 2 КБ файлу та передає відправнику.
  • відправник порівнює вміст початкового файлу і порівнює з цільовим, а також передає будь-які дані, які ще не існують, разом із посиланнями на будь-які відповідні дані. при цьому ціль може реконструювати весь файл, використовуючи фрагменти старої цілі та нові блоки.

5

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


5

Можливо, я буду педантичним, але покрокові резервні копії означають, що ви спочатку маєте повне резервне копіювання. Потім у вас є резервна копія файлів, змінених після цієї резервної копії. Потім у вас є ще одна копія резервних копій, змінена з попередньої і т. Д. Тож вам потрібна повна та всі додаткові резервні копії.

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

Якщо ви хочете зробити справжнє додаткове резервне копіювання, ви використовуєте такі параметри, як --backup-dir. Існує приклад тут .


1
+1 для розрізнення інкрементальних резервних копій і дзеркального відображення (це те, що робить rsync за замовчуванням).
sleske

Ага так! Дзеркальне відображення - це слово, яке я сприймав, добрий дзвінок :-)
Кайл Брандт,

0

Якщо справжнє питання "Я хочу зробити додаткові резервні копії за rsync", є кілька варіантів. Я використовую Dirvish:

http://www.dirvish.org/

Відновлення просте, тому що дає знімки: він використовує жорсткі посилання для отримання повних знімків, заощаджуючи місце, де файл однаковий. Всередині нього використовується опція rsync --link-dest:

--link-dest=DIR         hardlink to files in DIR when unchanged

Оскільки він використовує rsync, він також економить пропускну здатність мережі (і, отже, час), де зміни дуже невеликі. Він також працює , якщо ви очорнити і Sneakernet локально створений dirvish чином першим, якщо у вас є багато файлів і повільне з'єднання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.