我正在将一个现有脚本移植到perl中,在执行系统命令(特别是lftp)时遇到了一些困难。下面是我在bash做这件事的方法:
巴什:
lftp -u $ftpusername,$ftppass -e open $hostname << EOF
set ftp:ssl-allow no
set mirror:use-pget-n 5
glob -a rm -r "${remote_dir}/file.php"
EOF
因此,我想知道如何在Perl中执行这个完全相同的命令。以下是我尝试过的,但没有结果的:
Perl:
system(
我正在尝试使用lftp从雅虎商业托管帐户转移文件。我可以通过目录成功连接和cd,但如果我尝试与数据连接相关的命令(ls、镜像等),它会超时并出现套接字相关错误。下面是我正在使用的连接。
> lftp -d
lftp :~> set ftp:ssl-force true
lftp :~> set ftp:ssl-protect-list yes
lftp :~> set ftp:ssl-protect-data yes
lftp :~> set ftp:ssl-auth TLS
lftp :~> set ssl:verify-certificate no
lf
当我试图下载ftp服务器的内容时,我得到了这个:mget: filename.xlsx: file already exists and xfer:clobber is unset错误。基本上它是使用cygwin设置的。最近,我们升级了服务器,将所有数据按设定的计划下载到服务器上。旧服务器是Windows server 2003,新服务器是windows server 2008。当我试图下载一个已经在文件夹中的文件时,我遇到了问题。客户端从不更改文件名,所以当我们从服务器下载它时,就会得到这个错误。我能在批处理文件中放什么东西,或者什么东西可以强迫它替换那个文件吗?提前感谢
我正在使用lftp镜像来自外部服务器的文件,但是现在我需要的是在成功下载后重命名源目录(在远程服务器上)。我需要的是打开远程服务器列表目录上的连接,下载从"todo“(即todo.20121019 )开始的所有目录,在成功之后,我必须将下载的目录重命名为”dol.20121019“。服务器上可能有多个dir。
远程FTP服务器仅用于活动连接。
#!/bin/bash
directories=`lftp -f lftp_script_file.lf |grep done|awk '{print $NF}'`
for i in $directories
do
我正在尝试登录到一个ftps站点。我尝试在命令行中提供登录creds (并将set参数放入~/.lftprc中,然后打开lftp会话并使用lftp作业控制语句键入这些参数。不管怎么说,我总是碰到同样的路障:
421 Sorry, cleartext sessions are not accepted on this server.
Please reconnect using SSL/TLS security mechanisms.
我从以下参数中得到了最大的误差,但是继续得到上面的错误。
如何让lftp 从命令行使用SSL/TLS安全机制?
目标是使用bash (不使用expect编程)
我使用lftp将文件发送到SFTP服务器,但我不知道如何连接密钥和密码。
所以在sftp中,我可以这样做:
sftp -i .ssh/id_rsa.mykey login@my.host.fr
Enter passphrase for key '.ssh/id_rsa.mykey': my passphrase here
那么,如何在这个连接方法中使用lftp呢?