SFTP 배치 파일 도움말

SFTP 배치 파일 도움말

sftp 스크립트가 있고 sftp 디렉터리를 연결하고 파일을 로컬 컴퓨터에 복사하려고 합니다. 원격 sftp 디렉토리에는 ftp에서 로컬 디렉토리로 가져와야 하는 파일 이름이 포함된 "note.lst" 파일이 있습니다.

 sftp
 cd  /root/ftp1
 lcd /root/foleder1
 cat note.lst > ${2}
 mget ${2}
 bye

위의 명령줄에서 목록 파일을 cat하고 cat o/p의 데이터를 변수 ${2}로 이동하여 가져오려고 합니다.

다음 방법은 작동하지 않습니다. 누구든지 나를 도울 수 있습니까?

감사해요.

답변1

이를 두 가지 작업으로 분할할 수 있습니다. 하나는 목록을 가져오고 다른 하나는 나열된 파일을 가져오는 것입니다.

# Fetch the list
scratch=$(mktemp -d)
trap "rm -fr $scratch" EXIT
scp user@host:/root/ftp1/note.lst $scratch/filelist.txt
# transmogrigy the list into the SFTP script:
awk 'BEGIN{ print "lcd /root/foleder1"; print "cd /root/ftp1" } { print "get \"" $0 "\"" }' > $scratch/script.sftp
# execute the SFTP script
sftp -b $scratch/script.sftp user@host

관련 정보