Как заставить lftp работать в фоновом режиме все время и помещать любые изменения, сделанные в локальной папке, в папку на удаленном сервере. Обычная команда обратного зеркала не работает постоянно и специфична для изменений. По сути, я хочу синхронизировать обе папки. Спасибо
1 ответ
Используйте функцию 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
чтобы узнать, как это сделать.