
ログを生成するスクリプトがあり、スクリプトの最後にログを 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