매주 인바운드 피드로 간주되는 파일 이름이 포함된 테이블이 있습니다. 파일 이름 중 하나는 다음과 같습니다.
파일 이름: FEB_MERC_DATA_??????.txt
1월에 받은 인바운드 파일의 예 "FEB_MERC_DATA_201901.txt"
대상 서버에 연결하고 해당 형식의 파일을 검색하여 로컬 서버에 파일을 복사하는 FTP 스크립트가 있습니다. 로컬 서버에서 이 ftp 스크립트를 실행하겠습니다.
스크립트:
#!/usr/bin/expect
spawn /usr/bin/sftp [email protected]
expect "Expecting password:"
send "testing\n";
expect "sftp> "
send "lcd /incoming/load\n"
expect "sftp> "
send "cd /home/client-data/prod\n"
expect "sftp> "
send "mget FEB_MERC_DATA_??????.txt\n"
expect "sftp> "
send "bye\n"
expect eof
질문:
2월부터 클라이언트는 소문자 파일 이름 "MGET" 기능이 파일을 선택할 수 없고 지금까지 로컬 서버에 복사되지 않았기 때문에 소문자 파일 이름 "feb_merc_data_201902.txt"를 보내기 시작했습니다. 임시 솔루션을 변경했습니다. 파일 이름을 소문자로 구성합니다.
파일을 복사할 때 대소문자 구분을 무시하여 클라이언트가 대문자나 소문자를 전송하더라도 파일을 대상 디렉터리에 복사할 수 있도록 mget 기능에 대한 솔루션을 가진 사람이 있습니까?
아래 ftp 스크립트에서 "-i"를 사용해 보았지만 다음과 같은 오류가 발생합니다.
mget: 잘못된 플래그 -i
#!/usr/bin/expect
spawn /usr/bin/sftp [email protected]
expect "Expecting password:"
send "testing\n";
expect "sftp> "
send "lcd /incoming/load\n"
expect "sftp> "
send "cd /home/client-data/prod\n"
expect "sftp> "
send "mget -i FEB_MERC_DATA_??????.txt\n"
expect "sftp> "
send "bye\n"
expect eof
누구든지 이것에 대한 해결책을 가지고 있습니까?
감사해요.