Синхронизация удаленных папок в Linux

Каков самый простой способ однонаправленной инкрементной синхронизации папки, присутствующей в системе Linux.

+1 для использования командной строки. +2 для не использования rsync (Кажется, у меня проблемы с моей системой.)

Csync – это синхронизатор файлов, специально предназначенный для вас, обычного пользователя.

Csync – это библиотека и клиент командной строки корабля по умолчанию. Он без сервера и позволяет синхронизировать через sftp или samba .

Примеры использования:

 csync /home/csync smb://csync:[email protected]/Users/csync csync /home/csync sftp://[email protected]:2222/home/csync 

Я думаю, вы должны решить свои проблемы с помощью rsync, это проверенный и верный инструмент синхронизации для unix.

 rsync -uav --delete /loal/path example.com:/remote/path 

Примечание. Для двунаправленной синхронизации вы можете использовать унисон, а также csync .

Так я бы сделал однонаправленную синхронизацию с голыми инструментами.

В начале, tar весь набор файлов и скопировать их в пункт назначения.
Также установите маркер в базовом каталоге.

 touch /Source/base/directory/last-sync-time.txt 

Теперь мы хотим синхронизировать с Source to Destination.

В следующий временной интервал для синхронизации вперед (от источника до места назначения)

 # The backup script cd /Source/base/directory tar cfj -N ./last-sync-time.txt backup.tar.bz2 . scp backup.tar.bz2 [email protected]:/Backup/Directory/ touch /Source/base/directory/last-sync-time.txt rm -f backup.tar.bz2 
  1. Имя -N ./filename сообщает tar для архивации только файлов, измененных или созданных после изменения / создания filename .
    • Используя местную ссылку для подтверждения времени, вы не ошибаетесь; Если по какой-то причине не была сделана резервная копия, следующая будет накапливать ее
    • Вы можете настроить этот сценарий как запись cronjob на исходном компьютере
    • Я предполагаю, что вы будете использовать scp с аутентификацией с открытым ключом
    • Также предполагается, что вы можете обратиться к backup-server всякий раз, когда выдается этот скрипт.
    • Чтобы быть более безопасным, вы можете добавить проверки, подтверждающие сохранение резервной копии, а затем выполнить команду touch
    • Вы также можете вставлять команды для расширения резервных копий, накладывающихся на них поверх предыдущих в точке назначения; Или сохраните инкрементные архивы tar.bz2 .

Я использую этот короткий скрипт для мониторинга и постоянной синхронизации каталога с удаленной папкой sftp;

 #!/bin/sh dir1=/home/user/folder while inotifywait -qqre modify "$dir1"; do csync /home/user/folder sftp://remoteuser:[email protected]:remoteport/remotefolderpath done 
  • Emerge жалуется на заблокированные пакеты: что мне делать?
  • Какая файловая система заменяется на Linux
  • Отключить IPv6-адрес IPv6-autoconf (MAC-based) без отключения адресов конфиденциальности?
  • Как создать пользовательские сочетания клавиш в vim?
  • Получить конфигурацию ядра из текущей системы Linux?
  • Как переместиться с одного диска на другой, который отличается от другого?
  • Dkms не находит источник ядра
  • Есть ли способ скопировать текст в htop?
  • Linux Arch на ARM - Случайный USB-накопитель "заморозить"
  • Как отключить уведомление на "screen -D -R"
  • WiFi-карта не была обнаружена Windows впервые после перезапуска с Ubuntu в режиме двойной загрузки
  • Давайте будем гением компьютера.