Я синхронизирую файлы на нескольких различных устройствах с удаленным ssh использованием сервера rsync
. Проблема состоит в том, что я иногда забываю синхронизировать устройство, на котором я изменил файл, и это делает вещи сложными. Мой первый вопрос состоит в том, как сделать синхронизацию автоматической в Ubuntu, я означаю синхронизировать, когда файл изменяется, но не "слишком часто" (как то, когда я работаю над текстовым файлом.)
Теперь проблема с автоматической синхронизацией состоит в том, что, если я завинчиваю файл на одном устройстве, оно может распространить другим (и я даже не могу понять это, когда я удаляю файл по ошибке). Таким образом, я хотел бы иметь резервные копии на удаленном сервере. Когда-то назад я использовал резервную опцию в rsync, но затем сохраненные файлы синхронизировались назад и вперед, и это создало путаницу. Как у меня могут быть резервные копии старых файлов на удаленном сервере без них передаваемый обратно локальным устройствам? Там какой-либо путь состоит в том, чтобы управлять, сколькими назад сохранены взлеты каждого файла?
У Вас может быть несколько резервных копий при использовании rsync опции --link-dest
.
rsync, создаст другой каталог с резервным деревом, hardlink файлы, которые не изменились и только скопировали измененные файлы. Тем путем Вы не используете дважды пространство. Для экс-пререкайтесь:
rsync -a --delete --link-dest=../previous_backup source_directory/ backup
необходимо использовать файловую систему, которая поддерживает жесткие ссылки для этого для работы, ext4 хорошо работает.
я использовал съемный диск NTFS в прошлом, но файловой системе поражали большую производительность: резервное копирование на 130 ГБ приблизительно с 15 предыдущими резервными копиями заняло бы больше чем 80 минут для завершения. После того, как я переместил все дерево в ext4 раздел (на том же диске), последующие резервные копии заняли бы приблизительно 2 минуты для завершения.
я адаптировал сценарии от этой страницы для моих потребностей:
Я советовал бы для разделения резервного копирования и синхронизации. Используйте, например, rsnapshot для Ваших резервных копий и lsync, owncloud, мерзавца или rsync (в зависимости от потребностей и ситуации) для синхронизации данных для работы над ними.