我必须将大文件上传到sftp服务器,并在上传完成后重命名文件(基本上添加.ready扩展名),以便我可以将其标记为已上传并准备好进行进一步处理。
我已经看到热熔器可以显示文件是否仍由进程保留。
有人遇到过类似问题并且可能有soem脚本吗?
更新:我可以在我自己的环境中测试这个,两个服务器具有完全访问权限。问题是,在现场环境中,我无法访问客户端。但也许我可以使用cron来运行说明或脚本...
我已经尝试过lftp,但我无法使用命令重命名该文件。
lftp sftp://sftpuser:Test#1234@10.9.220.220 -e "put test;bye"
答案 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