Все время зеркальное отображение
Как заставить 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
чтобы узнать, как это сделать.