Все время зеркальное отображение

385
Jatin Luthra

Как заставить lftp работать в фоновом режиме все время и помещать любые изменения, сделанные в локальной папке, в папку на удаленном сервере. Обычная команда обратного зеркала не работает постоянно и специфична для изменений. По сути, я хочу синхронизировать обе папки. Спасибо

0
Вы думаете запустить его через cron? Или использовать rsync для минимизации трафика? Romeo Ninov 8 лет назад 0
Как сделать с cron? Также rsync не будет работать с ftp Jatin Luthra 8 лет назад 0
Вы можете туннелировать rsync через ssh. Вы можете установить в cron скрипт, который будет запускать lftp (например, каждые 5 минут) и команду exec для загрузки файлов / каталогов. Romeo Ninov 8 лет назад 0
Вы можете разместить код или ссылку? Jatin Luthra 8 лет назад 0
Вот пример команды для rsync через локальный каталог ssh для удаленного каталога: rsync -avz -e ssh / local / path user @ remote-host: / remote / path Romeo Ninov 8 лет назад 0
Эй, это ftp, я попросил код cron Jatin Luthra 8 лет назад 0
запись cron может выглядеть примерно так: * / 5 * * * * / path / to / script. В сценарии вы должны позаботиться о том, чтобы не запускать два экземпляра lftp (если процесс ftp займет более 5 минут) Romeo Ninov 8 лет назад 0
Я получил код, а не объяснение, пожалуйста Jatin Luthra 8 лет назад 0

1 ответ на вопрос

0
Angelo Fuchs

Используйте функцию mirror и cron для многократного запуска.

Поместите это в сценарий (например ~/push_to_server.sh):

cd [PATH_THAT_YOU_WANT_TO_COPY] lftp -c "open [HOST] -u [USER],[PASSWORD]; mirror -R [PATH_ON_SERVER]" 

Вы хотите посмотреть функцию '-e' и '-P' в lftp mirror в вашем руководстве ( man lftp) и использовать их вместе с -R.

Теперь вы активируете этот скрипт каждые несколько минут с помощью cron. Запустите crontab -eи добавьте:

*/5 * * * * ~/push_to_server.sh 

Это будет запускать скрипт каждые 5 минут (пожалуйста, прочитайте, man 5 crontabчтобы понять, что на самом деле делают эти 5 и звездочки, прежде чем их менять). Обязательно укажите фактический путь к сценарию, если вы переместили его или запустили crontab от имени другого пользователя.

Если ваша ftp синхронизация занимает больше 5 минут (в часы пик), вам нужно сменить cron. Читайте, man 5 crontabчтобы узнать, как это сделать.