LINUX.ORG.RU
ФорумAdmin

Lsyncd синхронизируем две папки рекурсивно с накоплением информации

 ,


0

1

Задача следующая, и я сам от себя не ожидал что буду в тупике. Есть сервер centos7 Есть две папки /opt/x (исходная папка) и /opt/y (папка назначения), обе папки на одном и том же сервере. Конфиг /etc/lsyncd.conf

settings = {
statusFile = "/var/log/lsyncd.stat",
logfile = "/var/log/lsyncd.log",
statusInterval = 1,
nodaemon = true,
recursiv = true,
backup = true,
suffix = aa_,
sync{
default.rsync,
source="/opt/x/",
target="/opt/y/",
}
}

Сейчас если в папках что то меняется. Синхронизация папок проходит на ура и практически мгновенно. Но задача не просто в синхронизации, а в том что бы в папке «/opt/y/» измененные файлы должны накапливаться. Т. е. Если в папке «/opt/x/» удаляется файл, из папки «/opt/y/» удалятся он не должен. При появлении файла/папки с уже существующим именем должен переименовываться, добавляться суффикс.



Последнее исправление: Falcon-peregrinus (всего исправлений: 1)

А мамки можно?

Lavos ★★★★★
()
Ответ на: комментарий от anc

Нужно только самому будет прописывать уникальный суффикс при каждом запуске, иначе прошлый бекап будет перезаписываться свежим. Интересно, как это будет делать lsyncd, если он сам инициирует синхронизацию? Похоже, без обращения к разработчику не обойтись.

gag ★★★★★
()

Есть две папки /opt/x (исходная папка) и /opt/y (папка назначения)

Сейчас если в папках что то меняется.

Т.е. из каталога «назначения» изменения могут тем не менее применяться к «исходному» каталогу?

Если нет,

Но задача не просто в синхронизации, а в том что бы в папке «/opt/y/» измененные файлы должны накапливаться.

то это не задача синхронизации, а инкрементального бекапа. И нужна более подходящая прога.

gag ★★★★★
()
Ответ на: комментарий от anc

Было бы удобно, но это была бы дыра в безопасности. Как когда выяснилось, что bash выполняет код из переменных окружения (или как там было).

gag ★★★★★
()
Ответ на: комментарий от gag

Я же написал, «попробовать», а вдруг сработает :)

anc ★★★★★
()
Ответ на: комментарий от leave

строчка интересная. попробовал! не работает! и проблему удаления файлов, из папки «/opt/y/» тоже не решается.

kostzg
() автор топика
Ответ на: комментарий от gag

строчка интересная. попробовал! не работает! и проблему удаления файлов, из папки «/opt/y/» тоже не решается.

kostzg
() автор топика
Ответ на: комментарий от kostzg

что у меня получилось

settings = { statusFile = «/var/log/lsyncd.stat», logfile = «/var/log/lsyncd.log», statusInterval = 1, nodaemon = true, logfacility = daemon, recursiv = true, -- исключения не работают хз почему -- exclude= { '/opt/x/*' , '/opt/x/' , '!.*' , '~*' } excludeFrom=«/etc/lsyncd.exclud», } backup = { delay = 5, maxProcesses = 5, onCreate = «rsync -a --backup --suffix=-`date +%F-%T` ^sourcePathname ^targetPathname», onModify = «rsync -a --backup --suffix=-`date +%F-%T` ^sourcePathname ^targetPathname», } sync { backup, source=«/opt/x/», target=«/opt/y/», }

kostzg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.