1

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

Это, вероятно, не очень хорошая идея, в частности, rsync явно лучше для обновления резервной копии. Если бы я только знал, как его использовать ... всякий раз, когда я определил, что я действительно должен использовать rsync для определенной работы по синхронизации, я затем читаю множество советов от человека / интернета, полностью запутываюсь из-за множества вариантов, пробую несколько из них, прежде чем получить желаемый результат, быстро забывают, как я это сделал снова.

Итак, для того , чтобы привыкнуть к rsync наконец, я ищу простые правила большого пальца. В частности, кажется, что «стандартное» использование обычно включает флаг -a , который в руководстве говорит «архив» и перечисляет некоторые вещи, которые он делает, но оставляет меня в замешательстве относительно того, почему я на самом деле хочу их и, в частности, если бы у меня была причина не хотеть некоторых из них.

Таким образом, мой вопрос: если я по привычке копирую файлы по умолчанию с помощью rsync -av , на какие ситуации мне следует обращать внимание, когда это не очень хорошая идея?

1 ответ1

1

Когда не следует использовать rsync -av

tl; dr: Если вы не хотите, чтобы поведение, предоставляемое -a или -v , не использовало эти опции!

Кроме того, Гордон Дэвиссон указывает на еще одно исключение:

если вы не используете его как root (в целевой системе), или идентификаторы пользователей и групп не совпадают между исходной или целевой системами, вы можете не захотеть (или быть в состоянии) сохранить пользователей, группы и устройства и специальные файлы.

И ксеноид делает упор на добавление -av:

В некоторых случаях вы можете добавить -av , -av --delete чтобы заменить добавочную резервную копию зеркальным отображением (используйте с осторожностью (т. Е. Попробуйте сначала с -n|--dry-run), в противном случае резервную копию можно удалить. если вы соответствуете неправильным каталогам.

-v (увеличить многословие)

Сначала просто: -v . Из справочной страницы rsync:

 -v, --verbose               increase verbosity

Это довольно просто увидеть эффект. Если вас не интересует информация о переводе, опустите ее.

-a (режим архива)

Правильно, режим archive . Для этого стоит прочитать что такое режим архива в rsync? в случае сбоя сервера.

Хороший ответ Эндрю перечисляет режимы, которые он включает:

-r, - рекурсивный рекурс в каталоги

-l, --links копирует символические ссылки как символические ссылки

-p, --perms сохраняют разрешения

-t, --times сохранить время модификации

-g, --group сохранить группу

-o, --owner preserve owner (только для суперпользователя)

-D так же, как --devices --specials

--devices сохранить файлы устройства (только для суперпользователя)

- специальные сохраняют специальные файлы

и исключает:

-H, --hard-links сохраняют жесткие ссылки

-A, --acls сохраняют ACL (подразумевает -p)

-X, --xattrs сохраняют расширенные атрибуты

Как он отмечает, он идеально подходит для резервного копирования ; потому что, если вы выполняете резервное копирование, вы хотите сделать точную копию данных, которые вы копируете, вместе с информацией о файлах.

Почему бы вам не использовать -a ?

Вообще говоря, если вы находитесь в ситуации, когда вы не хотите -a , вы будете знать. Может быть:

  • Вы хотите скопировать файлы из каталога, но не из его подкаталогов (поэтому без -r)
  • Вы хотите скопировать символические ссылки как настоящие файлы =, потому что ваша целевая файловая система не поддерживает символические ссылки (нет -l)
  • вас не волнуют разрешения (нет -p)
  • Вы хотите обновить время модификации (нет -t)

Последний, вероятно, самый очевидный вариант использования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .