当前逻辑是从本地目录中删除所有文件,其中放置在远程目录中的文件应被删除,并且本地目录中的任何新文件应可用于下次运行
function XXXX() {
sftp -o XXXXXXX << EOF
mput *
quit
EOF
TS=`date +%y%m%d%H%M%s`
echo "Time after sending is $TS"
RC=$?
if [ $RC -eq 0 ]
then
rm $DIR/* #instead of deleting all files want to delete only files that are placed to remote server.
else echo "sftp failed. RC is $RC"
fi }
答案1
或许lftp
这里是一个可行的替代方案:
lftp -e mput -E * -u user,password sftp://domain.com
-c
执行命令,然后退出mput -E *
上传所有匹配通配符的文件,然后删除源-u user,password
登录信息