我必须将大文件上传到 sftp 服务器,上传完成后,重命名文件(基本上添加 .ready 扩展名)以便我可以将其标记为已上传并准备好进行进一步处理。
我看到 fuser 可以显示文件是否仍被进程保留。
有人遇到过类似的问题并且可能有可用的 soem 脚本吗?
更新:我可以在我自己的环境中测试这个,两台服务器具有完全访问权限。问题是在实时环境中,我无法访问客户端。但也许我可以提供使用 cron 运行的说明或脚本...
我已经尝试过 lftp,但无法使用该命令重命名文件。
lftp sftp://sftpuser:Test#1234@10.9.220.220 -e "put test;bye"
最佳答案
您可以使用 sftp
重命名远程文件,假设 sftp
可以在批处理模式下验证您的身份,即通过 ssh-agent
.
$ file=foo.txt
$ echo -e "put $file\nrename $file $file.ready\n" | \
sftp -b - user@somehost
关于linux - 在 linux 中真正完成上传后重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629581/