Це правильне використання rsync для створення резервної копії Raspberry Pi?


10

Вибачте моє незнання, я новий користувач цього сайту, Linux та Raspberry Pi.

Далі йде посилання на запитання, з якого я використовував добре задокументовану відповідь користувача goldilocks про використання rsync, щоб створити власну rsyncкоманду, щоб зробити резервну копію в папку на HDD MacBook Pro в моїй локальній мережі:

Чи можна використовувати Raspberry Pi для створення резервної копії?

Я не зміг відповісти на це питання і не зміг надіслати повідомлення zladilocks користувача, оскільки, здається, такого немає на Stack Exchange?

Що я придумав, це:

rsync -aHv --rsync-path="sudo rsync" --delete-during --exclude-from=/Users/user/Documents/rsync-exclude.txt --rsh="ssh" user@host:/ /Users/user/Desktop/rpi-backup/

Як я розумію, додавання --rsync-path="sudo rsync"аргументу дозволяє не використовувати (невпевнений) кореневий обліковий запис над ssh.

Схоже, все йде добре, але, на жаль, я отримую помилку в кінці передачі, яка виглядає приблизно так:

rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/main.c(1400) [generator=2.6.9]

Це щось, про що я повинен хвилюватися, і якщо так, як це зробити? Або це тому, що я використовував rsync-exluded.txtфайл, щоб виключити копіювання певних каталогів під час rsync, і ця помилка лише підтверджує це?

Крім того, користувач, який відповів на це питання, сказав, що не можна зробити резервну копію на Mac? Моя команда, здається, працює без проблем, оскільки, очевидно, було резервне копіювання файлової системи в папці, яку я вказав як пункт призначення. Єдиною помилкою була помилка, яку я отримав наприкінці rsync.


Ласкаво просимо на біржу стеків (і її куточок з ароматом Raspberry Pi)! У той час як ви не можете надсилати повідомлення певному користувачеві, якщо ви берете участь у (спочатку) запитанні хороших питань та наданні хороших відповідей, ваша репутація збільшиться до того, що ви зможете поговорити в чатах (репутація 20+) та додавати коментарі до матеріалів, які є не свій (50+).
SlySven

Користувач "goldilocks" наразі є одним із наших модераторів (зверніть увагу на ♦ поруч із їх іменем), і як такий він досить активний - ви цілком можете його знайти в " Пекарні ", що є основним чатом для Raspberry Pi SE .. О, і є +1 для розумного питання, щоб допомогти вам на шляху. 8-)
SlySven

Посилання, яке ви цитували, має багато різних варіантів. Я звичайно використовую один із них (для резервного копіювання на жорсткий диск). Ви повинні вказати, куди ви намагаєтесь зробити резервну копію. На жаль, якщо ви намагаєтесь зробити резервну копію на OS X, ви не зможете досягти успіху з багатьох різних причин. Ви можете створити резервну копію на іншу машину Linux.
Міллівей

Дякую за теплий прийом SlySven! Сподіваюся, я наберу достатньо балів, щоб врешті-решт потрапити до цієї чатової кімнати! Milliways, поясніть, будь ласка, чому ви сказали, що мені не вдасться створити резервну копію до OS X або, можливо, вказати мене кудись, де ця заява трохи більш чітка?
chaoticslacker

Якщо ви посилаєтесь на коментар, вам слід надіслати його (за допомогою @). 1 Unix і Linux rsyncвідрізняються, 2 OS X Накладання Unix зі своїм власним шаром , який запобігає доступ до певних каталогів 3 Якщо користувачі не такі самі можуть бути втрачені, 4 дозволу на hfxі ext4істотно розрізняються. Ви можете бути успішним у створенні резервних копій файлів користувачів, але системні файли будуть втрачені / втрачені.
Міллівей

Відповіді:


1

Існує декілька проблем із тим, що робити те, що ви намагаєтеся зробити.

  1. Як зазначали інші, ви втрачаєте багато метаданих, переходячи від ext [234] fs до hfs + і назад. Крім того, hfs + за замовчуванням зберігає регістр, але нечутливий до регістру, тому якщо у вас є, наприклад, / bin / foo та / bin / Foo, ви втратите один з них. Краще використовувати іншу машину Linux. У вкрай малоймовірному випадку, якщо у вас немає запасної машини, просто підведіть на своєму комп'ютері macbook Linux VM.
  2. параметри rsync не помиляються. Щоб правильно перенести всі метадані, вам потрібен -avSHxAX.
  3. Вам дійсно не потрібен --rsync-path або --rsh. Просто виконайте те, що ви робите, як root, і встановіть .ssh / санкціоновані_кеї в кореневому обліковому записі іншої машини, щоб дозволити доступ. Менш заплутаний.
  4. Правильний спосіб зробити резервне копіювання - це використання дампа / відновлення.

1

Я використовую rpi-клон щодня протягом декількох тижнів, щоб клонувати мій запущений RPi3 під керуванням Raspian Jessie. Для клонування на другу Micro SD-карту потрібно близько 10 хвилин. Потім я вимикаю, виймаю обидві картки, зберігаю оригінал і завантажую, використовуючи клон. Звідси я знаю, що резервне копіювання працює. Я обертаю 3 картки таким чином, щоб у мене завжди була безпечна карта. Це працює для мене ;-)


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