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

1 ответ1

0

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

Поместите это в сценарий (например,G. ~/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 в своем руководстве (man lftp) и использовать их вместе с -R .

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .