
У меня есть скрипт, который генерирует лог, и в конце скрипта я перемещаю лог на сервер Windows. Соединение между двумя серверами в порядке, если я пытаюсь отправить файлы вручную, то все работает хорошо.
Скрипт и логи находятся в 2 разных местах. Мой скрипт выглядит следующим образом:
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 Filename invalid указывает на то, что /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