Re: cron и rsync
От: Roman Odaisky Украина  
Дата: 19.04.08 15:05
Оценка:
Здравствуйте, tors, Вы писали:

T>Есть два хостинга под никсами.

Какая именно ОС и версия?

T>Нужно между ними(междуопределенными папками

T>назовем их ./licenses/lickeys) через каждые 20 минут
T>совершать синхронизацию
T>(новые файлы, измененные файлы)
Лучше не каждые 20 минут, а отслеживать изменения (например, inotify(7)).

T>Я полагаю нужно делать это через ftp

А я не полагаю. Нужно через sftp. FTP не умеет нормальное шифрование.

T>(прямого доступа к lickkeys нет и быть не должно).

Что такое «прямой доступ»?

T>Полагаю делать это через cron и rsync

T>Я в линухах не очень.
T>Может посоветуете доки по сабжу
T>или даже приведете пример как это сделать?

Лучше Unison, это rsync в обе стороны. (Если речь о shared hosting (о чем было бы хорошо сразу упомянуть), то придется просить админов установить.)

~/.unison/licenses.prf: (если не в ~/.unison, то нужно передавать путь в переменной окружения UNISON)
root = /some/path
root = ssh://other.host//corresponding/path
sshargs = -i /path/to/SSH/key
log = true


Запуск:
unison licenses -batch -silent -log -logfile /path/to/logfile

Для надежности можно предусмотреть таймаут:
timeout -15 600 unison licenses -batch -silent -log -logfile /path/to/logfile

На Linux можно использовать inotify (отслеживание изменений):
while inotifywait -qq -e create,modify /path/to/licenses
do
    timeout -15 600 unison licenses -batch -silent -log -logfile /path/to/logfile
done

А дальше rtfm unison(1), timeout(1), inotifywatch(1), ssh-keygen(1).
До последнего не верил в пирамиду Лебедева.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.