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

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

1 ответ

Используйте функцию 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 в своем руководстве (man lftp) и может использовать их вместе с -R,

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

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

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

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

Другие вопросы по тегам