Answers:
对于这种东西,我正在使用wget:
wget -m ftp://user:password@ftp.example.com
或lftp的“ mirror”命令:
lftp -c mirror ftp://user:password@ftp.example.com/
首先,我建议您通过FTP使用SCP。FTP不安全,以明文方式传输凭据和文件。本质上,SCP可以sc
运行ssh
并且相当安全,尤其是如果您使用密钥对进行身份验证。
另一种选择是使用SFTP。尽管有名称,但它不是通过SSL或SSH连接的FTP。这是一个全新的协议。但是,与上述建议一样,这并不是对您的问题的确切答案,而只是对FTP的不安全性的一些评论。
选择您的ftp客户端,然后研究其如何处理脚本。您没有提到正在使用的操作系统或正在使用的客户端。您需要提供这些信息,然后我们才能为您提供更多帮助。
您正在使用什么操作系统和FTP客户端?
编辑:我做了“批处理文件”等同于Windows环境的连接。在这种情况下,请尝试以下操作:
ftp.exe -s:filename
该-s
饲料ftp命令是其内具有FTP命令的文件。在ftp.exe读取的文件内,创建用于登录和检索文件的命令。
open ftp.server.name
user
[username]
[password]
get *.txt
quit
有关FTP和批处理文件的更多信息,请参见Microsoft KB文章。
如果您使用的是Linux,则可以在选择的Shell中使用大量FTP客户端。与FTP服务器建立连接时,您可以选择提供用户名和密码以及客户端自己指定的各种开关。FTP URL中用户名和密码的标准语法是ftp://user:password@host.tld/
从此处使用get
通配符命令在脚本中的新行将下载所需的所有文件。例如,get *.txt
但是,建议您使用get
multing文件和镜像目录的确切语法取决于您的FTP客户端。我的喜好是ncftp
与其他FTP客户端具有不同的镜像选项。
作为奖励,我建议首先对要减少传输大小的文件进行归档,并保留UNIX权限。FTP会从文件中剥离原始权限,这在恢复网站或应用程序时可能会很烦人。
但是,除非FTP服务器本身支持扩展命令,否则通常无法通过FTP客户端完成此操作。例如,FTP服务器ncftpd
提供了一些其他FTP服务器没有的扩展命令。因此,现在我可以全面建议您设置SSH隧道,以便可以首先将目录tar。通过设置SSH守护程序,您最好将SCP插入服务器并检索TAR文件,而不要使用FTP。
如果必须将FTP保留在等式中,则可以在服务器上创建cron作业,以将所需文件打包,将其放在FTP目录中,然后创建连接到服务器的FTP脚本并检索tar文件。
自动化是您的朋友。您走在正确的道路上,只需开始更多地考虑安全性和优化。