로그를 생성하는 스크립트가 있고 스크립트 끝에서 로그를 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