我有一台运行 Windows Server 2008 R2 的 Windows 服务器。我已设置 FTP 站点和用户帐户,并且能够连接到该站点并使用 Windows 命令行 FTP 客户端从我家里的计算机成功下载文件。
我有一个运行嵌入式 Linux(带 FFP 的 BusyBox)的 NAS,并且我设置了一个 cron 作业来运行一个脚本,以便将此 FTP 站点镜像到 NAS。这个脚本运行了几次,但后来我注意到磁盘上的数据没有更新,所以我尝试从 SSH 会话运行该脚本。镜像命令的输出更新了控制台几次,显示“获取目录内容”,然后出现错误:
未知命令‘;’。
脚本如下
#! /ffp/bin/bash
HOST='xxx.xxx.xxx.xxx'
USER='UserName'
PASS='Password'
TARGETFOLDER='/path/to/local/directory'
SOURCEFOLDER='.'
LOGNAME="$(date +%F-%H-%M-%S).log"
lftp -f "
open $HOST
user $USER $PASS
mirror -P 2 -n --log=$LOGNAME --verbose $SOURCEFOLDER $TARGETFOLDER
bye
"
LFTP 是版本 4.0.7。
答案1
原因可能是用户和镜像的换行符。如果 ftp 客户端发送“\r\n”而不输入任何命令,则可能导致服务器等连接终止出现问题。