我正在使用一个 shell 脚本来执行lftp mirror --reverse
将文件和目录上传到远程服务器。就在此之前,它使用glob -a rm -r -f *
. 问题是,它并没有那么快。整个操作需要几分钟,尤其是递归删除。我在几百个文件中上传了几兆字节的数据,但其中大部分都没有改变。我正在通过 FTPS 协议进行连接。
问题
如何提高我的脚本的性能?
我正在考虑仅上传新文件或在本地更改的文件,同时从远程服务器中删除本地计算机上不存在的文件。可悲的是,我不知道这是否可能或如何实现。
整个脚本:
lftp $host << EOF
user $username $password
cd $destination_directory
glob -a rm -r -f *
mirror --reverse $local_directory .
exit
EOF
解决方案就在眼前。在浏览 LFTP 手册时,我发现该
mirror
命令有一个--delete
非常适合我需要的选项。我变了
至