在试验之后,lftp
我正在使用 bash 脚本发布解决方案。所以 bash 脚本文件的内容是
#!/bin/bash
USER='username'
PASS='password'
HOST='ftp.mydomain.com'
LOCAL_BACKUP_DIR='/backups'
REMOTE_DIR='/backupfiles'
lftp -u $USER,$PASS $HOST <<EOF
set ftp:ssl-protect-data true
set ftp:ssl-force true
set ssl:verify-certificate no
mirror -R -e "$LOCAL_BACKUP_DIR" "$REMOTE_DIR"
quit
EOF
在使用 ftp 主机的适当参数更改第一部分的情况下,此脚本会将本地目录中的所有文件镜像到远程目录。
由于远程主机是配置了自签名证书的 Windows IIS FTP 服务器,因此我必须注意set ssl:verify-certificate no
脚本中对命令的需要。此外,尽管 IIS/FTP 用户必须以 HOST|USER 的形式输入,例如 ftp.mydomain.com|username,但由于某种原因,如果在 lftp USER 参数中设置了此选项,则身份验证失败。您必须省略主机名称并仅设置用户名......这样它就可以成功连接。