mput을 사용하여 원격 서버에 배치된 파일을 삭제해야 합니다.

mput을 사용하여 원격 서버에 배치된 파일을 삭제해야 합니다.

현재 논리는 원격 디렉터리에 있는 파일을 제거해야 하고 로컬 디렉터리의 모든 새 파일을 다음 실행에 사용할 수 있어야 하는 로컬 디렉터리에서 모든 파일을 제거하는 것입니다.

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로그인 정보

관련 정보