
로그를 생성하는 스크립트가 있고 스크립트 끝에서 로그를 Windows 서버로 이동합니다. 두 서버 간의 연결은 양호합니다. 파일을 수동으로 보내려고 하면 제대로 작동합니다.
스크립트와 로그는 서로 다른 두 위치에 있습니다. 내 스크립트는 아래와 같습니다.
LOGFILE=/home/logs/monitor_sync_FM2.log
HOST='xxx.xxx.xxx.xxx'
USER='FTPUser'
PASSWD='Password'
ftp -n $HOST << EOF
user $USER $PASSWD
binary
prompt
mput $LOGFILE
quit
EOF
exit 0
하지만 스크립트를 실행하면 오류가 발생합니다.
Filename invalid
내 스크립트에 뭔가 빠진 것이 있으면 누구든지 알려주실 수 있나요? 감사해요
답변1
/home/logs/monitor_sync_FM2.log
원격 서버(예: Windows)의 경로에 파일을 쓰려고 합니다 . 550 잘못된 파일 이름은 /home/logs
원격 서버에 존재하지 않음을 나타냅니다. 당신이하고 싶은 일은 이것이다 :
LOGFILE=monitor_sync_FM2.log
HOST='xxx.xxx.xxx.xxx'
USER='FTPUser'
PASSWD='Password'
cd /home/logs/
ftp -n $HOST << EOF
user $USER $PASSWD
binary
prompt
mput $LOGFILE
quit
EOF
exit 0