我想使用lftp将远程文件夹与本地文件夹同步。
当我第一次安装“ lftp”并创建此脚本时:
#!/bin/bash
#get username and password
USER=... #Your username
PASS=... #Your password
HOST="..." #Keep just the address
echo Sync started ...
LCD="/var/www/myfolder/app" #Your local directory
RCD="/app" #FTP server directory
lftp -f "
open $HOST
user $USER $PASS
lcd $LCD
mirror --continue --reverse --delete --no-symlinks --exclude .gitkeep --exclude .gitignore --exclude .bower.json --verbose $LCD $RCD
bye
"
Run Code Online (Sandbox Code Playgroud)
一切都像魅力一样。之后,我尝试用ssl编译lftp(我下载了源代码,在deb软件包中编译并安装了它)以同步到ssl ftp服务器。我没有弄清楚,但我不再需要了,所以我想回到开始的情况。
现在,即使删除lftp并在没有ssl的情况下再次安装它,执行脚本时我也会收到以下消息:
mkdir `/app' [FEAT negotiation...]
Run Code Online (Sandbox Code Playgroud)
该命令只是超时(我在调试时看到了)。我不知道该怎么解决。
有什么帮助吗?谢谢。
小智 6
我已经遇到了完全相同的问题。通过在连接字符串中显式提供协议前缀“ sftp”来解决此问题。默认情况下,lftp使用“ ftp”作为协议。
HOST="sftp://<hostname>" # <-- make sure that you have specified the protocol here
lftp <<EOF
set ssl:verify-certificate no
set sftp:auto-confirm yes
open $HOST -p $PORT -u $USER,$PASSWORD
mirror $RCD $LCD
EOF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6178 次 |
| 最近记录: |