成功上传到 SFTP 服务器后删除本地 AIX 文件

Posted

技术标签:

【中文标题】成功上传到 SFTP 服务器后删除本地 AIX 文件【英文标题】:Delete local AIX files after a successful upload to an SFTP server 【发布时间】:2021-06-05 16:41:58 【问题描述】:

我有两个 AIX SFTP 服务器。

我想从 word cash 开始移动多个文件,例如cash2001.txt 使用 sftp 脚本从一台服务器到另一台服务器,然后想要从原始服务器中删除成功移动的文件。

我尝试过打击脚本,但它不起作用

sftp -P 10022 EUSER_20233@11.214.6.920 <<EOF 
put /data/sftp/current/cash* 
exit
rm /data/sftp/current/cash* 
EOF

【问题讨论】:

【参考方案1】:

由于rm应该是删除本地文件,所以必须在shell中执行,而不是sftp

sftp -P 10022 EUSER_20233@11.214.6.920 <<EOF 
put /data/sftp/current/cash* 
exit
EOF
rm /data/sftp/current/cash* 

您可能希望改进代码以删除文件,仅当传输成功时。基于How to confirm SFTP file delivery?,你可以这样做(在bash中,我不知道AIX):

sftp -P 10022 EUSER_20233@11.214.6.920 -b - <<EOF 
put /data/sftp/current/cash* 
exit
EOF

if [ $? -eq 0 ]
then
    rm /data/sftp/current/cash* 
fi

【讨论】:

以上是关于成功上传到 SFTP 服务器后删除本地 AIX 文件的主要内容,如果未能解决你的问题,请参考以下文章

sftp无法上传文件到linux处理过程

sftp方式从windows上传文件到Linux服务器

为啥使用 sftp 上传文件后文件权限发生变化?

linux下的ssh工具之,本地上传到linux服务器and Linux服务器文件另存为本地。非sftp工具。

elementUI使用el-upload上传文件写法总结及避坑,上传图片/视频到本地/服务器以及回显+删除

直接将文件上传到SFTP而不将其存储到本地系统[重复]