550 Недопустимое имя файла

550 Недопустимое имя файла

У меня есть скрипт, который генерирует лог, и в конце скрипта я перемещаю лог на сервер 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

Связанный контент