Я покупаю внешний жесткий диск для резервного копирования компьютеров в моем доме (наконец-то !!). Я надеюсь использовать Rsync. Я видел пример, который делает (или, кажется, делает) именно то, что я хочу. Что-то вроде этого:
rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
Однако, глядя на документацию и примеры по rsync и т. Д., Все стало выглядеть намного сложнее. Сеть и демоны и жаргон, о мой!
Я предполагаю, что ничего из этого не нужно, пока я просто перевожу с компьютера на внешний диск, подключенный через FireWire. Я ошибаюсь, предполагая это? Неужели все будет сложнее, чем эта безобидная команда?
Ответы:
Rsync отлично работает на локальных дисках. Однако, если он обнаруживает локальные пути, он автоматически переходит в режим --whole-file, который не копирует diff-файлы, а просто копирует исходный файл поверх файла назначения. Rsync по-прежнему будет игнорировать файлы, которые не изменились вообще. Когда пропускная способность между источником и местом назначения высока (например, два локальных диска), это намного быстрее, чем чтение обоих файлов, а затем копирование только измененных битов.
источник
Я использую rsync со следующими флагами, легко запоминающимися как 'glop' и 'trunc' и 'v'.
rsync -gloptrunc $srcdir $dstdir
Краткое руководство:
примечание: в локальных файловых системах это переопределяется, и вместо этого копируются все файлы.
Я всегда запускаю вышеупомянутое, чтобы убедиться, что оно работает, затем убираю флаг 'n', чтобы, как только я был доволен результатами.
Ключевые особенности вышеуказанных комбинаций:
Я использую это для синхронизации двух машин или синхронизации с подкаталогами (например, резервное копирование на USB-накопитель).
Как говорилось ранее в одной из других публикаций, «контрольная сумма» может быть фактически отключена, если вы работаете с локальными дисками.
В некоторых редких случаях мне приходилось добавлять дополнительные параметры для учета изменений в учетных записях входа на удаленных компьютерах, смены портов и даже указания места нахождения «rsync» на удаленном хосте ... но они не имеют прямого отношения к вашему вопрос.
источник
rsync -gloptrunc --delete --delete-excluded $srcdir $dstdir
. Он--delete
говорит об удалении чего-либо в месте назначения, которого нет в источнике, и--delete-excluded
говорит также об удалении исключенных файлов в месте назначения, которые обычно не отслеживаются и не копируются. Если вы используете--delete-excluded
, технически вам не нужно также использовать--delete
, но все равно можно использовать оба. Подробности в справочных страницах здесь: linux.die.net/man/1/rsync .Ничего из этого не требуется, вы можете использовать rsync без каких-либо демонов или любого другого вида конфигурации JUST FINE!
Просто используйте команду rsync, и все готово.
источник
Судя по пути в вашей команде rsync, я был бы прав, думая, что вы используете Mac OS X?
Лично я бы выбрал Time Machine (если вы используете Leopard) или Carbon Copy Cloner ( http://www.bombich.com/software/ccc.html ), который использует rsync.
Гораздо проще, чем пытаться исправить свой сценарий. Одним из преимуществ является то, что Time Machine и CCC предоставят вам дополнительные резервные копии.
источник
Пример, который вы использовали, выглядит так, будто он отлично работает для резервных копий.
Однако при использовании rsync вы, возможно, захотите учесть одну опцию --link-dest. Это позволяет вам хранить несколько резервных копий, но использовать жесткие ссылки для любых неизмененных файлов, эффективно превращая все резервные копии в пространство инкрементного. Пример использования будет:
Это предполагает, что у вас есть резервная копия с датой на 12 июня, и вы хотите создать новую 13 июня. Возможно, вы захотите пропустить опцию -v, если вы не хотите распечатывать каждый файл.
источник
Это действительно зависит от того, используете ли вы базы данных или нет. Rsync сделает снимок каждого файла и проигнорирует любые промежуточные записи. Если вы хотите выполнить резервное копирование базы данных, вы должны посмотреть на настройку фильтра игнорирования и запуск инструментов дампа БД до rsync.
источник
Ваша команда, как написано, должна работать, однако вы можете захотеть взглянуть на программу под названием rsnapshot, которая построена поверх rsync и содержит несколько версий файлов, чтобы вы могли вернуться и посмотреть на вещи, как они были на прошлой неделе или в прошлом месяце. Конфигурация довольно проста, и она действительно хороша для оптимизации пространства, поэтому, если у вас нет большого оттока, она не займет намного больше места, чем одна резервная копия.
источник
Вы не упомянули свою операционную систему. Исходя из предположения, что это ОС * nix, ваша команда хороша.
Однако, если один или оба диска отформатированы в NTFS, доступ к ним осуществляется из * nix или даже из Windows с использованием Mobaxterm / cygwin, то инкрементная функциональность rsync не будет работать с
rsync -a (archive flag)
Если диск (и) NTFS задействованы, вы можете использовать:
Загрузите клиент Mobaxterm ssh, чтобы иметь функциональность rsync в Windows.
Вот больше информации об использовании rsync с дисками NTFS
источник
Я попытался использовать rsync для резервного копирования, но в итоге получился беспорядок. rsync лучше подходит для «синхронизации», чем для резервного копирования. И это идет навсегда, чтобы сравнить большие файлы.
Я немного исследовал и попробовал несколько (в основном, тестирование каждого из apt-cache search backup в ubuntu).
Наконец, я получил « backup2l - инструмент для резервного копирования и восстановления без обслуживания», это легко. Мне нравится, как он управляет планированием и ротацией (по уровням). Я запускаю его всякий раз, когда мой внешний USB-накопитель подключен из командной строки, но вы также можете автоматизировать его.
источник
Попробуйте сделать резервную копию. http://www.dirvish.org/
Он использует жесткие ссылки от rsync в так называемых хранилищах. Вы можете сохранить столько старых дампов, сколько может занять USB-диск. Или настроить его в автоматическом режиме.
Как только вы поймете идею dirvish, его будет удобнее использовать, чем rsync со всеми его опциями.
источник
Я нахожу решение для компьютера под управлением Windows: http://www.itefix.no/i2/node/10650
Чтобы скопировать раздел D: \ на внешний диск K: \
rsync -aE --delete --progress /cygdrive/d/* /cygdrive/k
источник