![mput을 사용하여 원격 서버에 배치된 파일을 삭제해야 합니다.](https://linux55.com/image/189359/mput%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9B%90%EA%B2%A9%20%EC%84%9C%EB%B2%84%EC%97%90%20%EB%B0%B0%EC%B9%98%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
현재 논리는 원격 디렉터리에 있는 파일을 제거해야 하고 로컬 디렉터리의 모든 새 파일을 다음 실행에 사용할 수 있어야 하는 로컬 디렉터리에서 모든 파일을 제거하는 것입니다.
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
로그인 정보