Scripting

550 文件名無效

  • November 21, 2017

我有一個生成日誌的腳本,在腳本結束時我將日誌移動到 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

誰能告訴我我的腳本中是否遺漏了什麼?謝謝

您正在嘗試將文件寫入/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

引用自:https://unix.stackexchange.com/questions/406048