Bash 스크립트 SFTPing을 원격 서버로 보내고 파일을 다운로드하고 로컬 시스템의 적절한 디렉터리로 CD를 이동합니다.

Bash 스크립트 SFTPing을 원격 서버로 보내고 파일을 다운로드하고 로컬 시스템의 적절한 디렉터리로 CD를 이동합니다.

내 Ubuntu 서버에는 이 bash 스크립트를 매일 실행하는 cron이 있습니다.

#!/usr/bin/expect -f
spawn sftp user@ip
expect "password:"
send "password\n"
expect "sftp>"
send "cd remote_directory\n"
expect "sftp>"
send "lcd ~/dtc/data/outstanding\n"
expect "sftp>"
send "mget * \n"
expect "sftp>"
send "exit\n"
interact

SFTP를 통해 원격 서버에 연결하고 여러 파일을 다운로드합니다. 이것은 문제 없이 작동하지만 이 파일이 이 스크립트를 실행하는 컴퓨터(내 서버)의 특정 디렉터리에 나타나기를 원합니다.

이것이 제가 8번째 줄에서 아무 소용이 없도록 시도하고 있는 것입니다. cron을 통해 이 스크립트를 어떻게 실행하고, 다운로드한 파일이 올바른 디렉토리에 배치되도록 내 서버의 올바른 디렉토리에 CD가 있는지 확인하려면 어떻게 해야 합니까?

답변1

가장 간단한 해결책은 cd파일을 저장하려는 디렉터리로 이동한 다음 lcd8행의 스크립트에서 명령을 제외하고 예상 스크립트를 실행하는 것입니다.

관련 정보