550 ファイル名が無効です

550 ファイル名が無効です

ログを生成するスクリプトがあり、スクリプトの最後にログを Windows サーバーに移動します。 2 つのサーバー間の接続は正常で、ファイルを手動で送信しようとするとうまく機能します。

スクリプトとログは 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 ファイル名が無効です。/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

関連情報