如何让 lftp 始终在后台运行,并将对本地文件夹所做的任何更改推送到远程服务器上的文件夹。常规反向镜像命令并非始终有效,并且特定于更改。基本上,我想让两个文件夹保持同步。谢谢
答案1
使用镜像功能和 cron 重复触发它。
将其放入脚本中(例如~/push_to_server.sh
):
cd [PATH_THAT_YOU_WANT_TO_COPY]
lftp -c "open [HOST] -u [USER],[PASSWORD]; mirror -R [PATH_ON_SERVER]"
您想在手册 ( ) 中查找 lftp mirror 的“-e”和“-P”功能,man lftp
并可能将它们与一起使用-R
。
现在,您每隔几分钟使用 cron 激活该脚本。运行crontab -e
并添加:
*/5 * * * * ~/push_to_server.sh
这将每 5 分钟启动一次脚本(man 5 crontab
在更改 5 和星号之前,请仔细阅读以了解它们的实际作用)。请确保指向脚本的实际路径,以防您移动它或以其他用户身份运行 crontab。
如果您的 ftp 同步时间超过 5 分钟(在高峰时段),则必须更改 cron。阅读man 5 crontab
以了解如何执行此操作。