上传完成后在linux中重命名文件

时间:2017-04-26 09:02:00

标签: linux bash sftp

我必须将大文件上传到sftp服务器,并在上传完成后重命名文件(基本上添加.ready扩展名),以便我可以将其标记为已上传并准备好进行进一步处理。

我已经看到热熔器可以显示文件是否仍由进程保留。

有人遇到过类似问题并且可能有soem脚本吗?

更新:我可以在我自己的环境中测试这个,两个服务器具有完全访问权限。问题是,在现场环境中,我无法访问客户端。但也许我可以使用cron来运行说明或脚本...

我已经尝试过lftp,但我无法使用命令重命名该文件。

lftp sftp://sftpuser:Test#1234@10.9.220.220 -e "put test;bye"   

2 个答案:

答案 0 :(得分:1)

您可以使用is_unique重命名远程文件,假设sftp可以批量模式验证您,即通过sftp

ssh-agent

答案 1 :(得分:0)

我会用sftp的batch mode和Bash的process substitution来做。

sftp -b <(echo put file) server:dir/ && mv file file.ready

不要在shell脚本中写密码!

https://askubuntu.com/questions/4830/easiest-way-to-copy-ssh-keys-to-another-machine