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


10

Извините за невежество, я новый пользователь этого сайта, Linux и Raspberry Pi.

Ниже приведена ссылка на вопрос, из которого я использовал хорошо документированный ответ пользователя goldilocks об использовании rsyncмоей собственной rsyncкоманды для создания резервной копии в папке на жестком диске MacBook Pro в моей локальной сети:

Можно ли использовать Raspberry Pi для создания собственной резервной копии?

Я не смог ответить на этот вопрос и не смог отправить сообщение пользователю goldilocks, потому что кажется, что на 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-компьютер.
Milliways

Спасибо за теплый прием SlySven! Надеюсь, я получу достаточно очков, чтобы в конечном итоге попасть в этот чат! Милливейс, не могли бы вы объяснить, почему вы сказали, что мне не удастся выполнить резервное копирование в OS X, или, возможно, укажете мне куда-нибудь, где это утверждение немного более конкретизировано?
Chaoticslacker

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

Ответы:


1

Есть несколько проблем с тем, что вы пытаетесь сделать.

  1. Как отмечали другие, вы теряете много метаданных, переходя от ext [234] fs к hfs + и обратно. Кроме того, по умолчанию hfs + сохраняет регистр, но не учитывает регистр, поэтому, если у вас есть, например, / bin / foo и / bin / Foo, вы потеряете один из них. Лучше использовать другую машину Linux. В крайне маловероятном случае, когда у вас нет запасного компьютера, просто установите виртуальную машину Linux на вашем MacBook.
  2. параметры rsync не ошибаются. Вам нужен -avSHxAX для правильной передачи всех метаданных.
  3. Вам действительно не нужны --rsync-path или --rsh. Просто сделайте то, что вы делаете от имени пользователя root, и настройте .ssh / authorized_keys для учетной записи root другой машины, чтобы разрешить доступ. Менее запутанно.
  4. Правильный способ создания резервных копий - использовать dump / restore.

1

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


Интересный сценарий Джеффа, к сожалению, на данный момент у меня нет необходимого оборудования для его проверки. Будет проверять это в ближайшее время, хотя. Спасибо за ссылку.
Chaoticslacker
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.