現在のロジックは、リモートディレクトリ内のファイルを削除する必要があり、ローカルディレクトリ内のすべての新しいファイルを次の実行に使用できる必要があるローカルディレクトリからすべてのファイルを削除することです。
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
ログイン情報