LINUX.ORG.RU

[rsync?] Синхронизация в обе стороны


0

2

Есть локальный каталог, скажем, dir.local и удалённый srv:dir.remote. В них есть файлы. Для каждого файла (изх может быть много) требуется реализовать следующий немудрёный алгоритм: если файл в dir.local имеет дату изменения более поздюю, чем аналогичный в dir.remote, то выполнять синхронизацию local -> remote (т.е. замещать удалённые файлы локальными), если же, наоборот, файл в remote новее - то синхронизировать remote -> local.

rsync, вроде, так не умеет (он может лишь не трогать удалённый файл, если дата его модификации новее, чем у локального. А заменять в таком случае локальный файл удалённым он не хочет).

Есть ли какая-то тулза для такой синхронизации? Склепать скрипт-анализатор можно, конечно, но может, есть готовое решение?

★★★

Ответ на: комментарий от taker

Хотелось бы что-нибудь более традиционное) Хотя, если не будет других вариантов, взгляну и на unison, спасибо.

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

> csync2

Крутая штука) Но для меня, пока что, такая навороченная вещь - оверхед (несколько текстовых файликов синхронизировать на 2-х машинах, одна из которых за глубоким NAT'ом).

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

> unison?

Не подскажешь, как заставить эту хреновину _молча_, ничего не спрашивая, заменять файл более новой версией? А то при batch оно тупо скипает конфликты.

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

:)

Это типа сначала

# rsync -u dir.local srv:dir.remote

, а потом

# rsync -u srv:dir.remote dir.local

? Мысль свежая и оригинальная, надо подумать)

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

> Система_управления_версиями

Ненене, Дэвид Блейн, ради 20 кб plain-текста я не буду разворачивать cvs)))

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

> Разверни mercurial, ёпт.

Б-дь,

Система Mercurial написана на Python

кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода.

Эта херь сожрёт больше, чем та прожка, конфиги которой надо синкать

nbw ★★★
() автор топика

Может, просто попробовать монтировать сетевую ФС? NFS например. Если через недоверенную сеть. то попробуйте затуннелировать.

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

> вам лучше всего подойдёт Портфель из Windows 95.

Не оскорбляй светлую память Евгения Вагановича такими плоскими шутками

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

> NFS например.

Думал над этим) Но на второй машине (нетбук) сеть есть далеко не всегда. Нужно, чтобы файлы были доступны локально.

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

Тут такое дело: нужно прибить мышь, а то шуршит по ночам. Не посоветует ли кто, какая мышеловка надёжнее? Или, может, подараулить её, и из рогатки?

Откройте для себя ядерные технологии.

Зайди сюда, здесь большой выбор термобарических боевых частей <ссылка>

Не майся дурью, заведи леопарда или, лучше, крокодила

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

gitolite поднимается за полчаса, включая чтение вики. Вам сложно запомнить три комнады `git add . && git commit && git push`? Подумайте, сколько времени отнимет правка конфигов, когда/если у вас появится больше машин, с которыми потребуется синхронизация.

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