很多时候会将一些重要数据复制到ftp服务器上去,但是万一哪天ftp服务器也崩掉了,数据不就完蛋了么。
所以出于安全的顾忌,可以考虑再来一台电脑来保存数据,所以就涉及到了自动备份数据,我的情况是windows xp ==》windows xp,当然其中有一台是安装了ftp server的
不过话说回来,网上这个一搜一大堆的。我自己也小结记录一下。
方法1:
在xp电脑你要保存备份数据的目录下创建两个文件
第一个txt文件内容如下,加入文件名叫ftp.txt
写道
open x.x.x.x (x.x.x.x是你的ftp ip地址) username (登陆用户名) passwd (登录密码) cd backup (进入文件目录) prompt (关闭应答,这样在使用mget的时候就不用一个个敲了,ftp -i可以达到相同的目的,但是两个不要同时用) mget *.* (下载所有文件,也可以用get file_name) close (关闭ftp连接!文明操作有秩序!) bye (say bye-bye to ftp,gentleman will do)
第二个,文件名就必须是run.bat,可以先新建txt文件,然后在改后缀,内容如下
写道
ftp -s:ftp.txt
可以手动运行一下run.bat看看效果
下面就是自动化了
点击“控制面板” --》 “任务计划” --》 “下一步” --》 “浏览” --》 “选到run.bat” --》 唉,不说了,自己看着选就是了
这样基本就完成了二次自动备份数据了
但这个方法是下载所有ftp文件,不是很好。。
方法2:
只需要手动建立一个bat文件即可,内容如下
写道
@echo off rem 指定FTP用户名 set ftpUser=user rem 指定FTP密码 set ftpPass=passwd rem 指定FTP服务器地址 set ftpIP=192.168.2.245 rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=backup rem 指定从FTP下载下来的文件存放到本机哪个目录 set LocalFolder=D:\Kugou rem 假设本机日期格式为yyyy-mm-dd set TodayFile=%date:~0,10%.tar set ftpFile=get_ftp_file.txt >"%ftpFile%" ( echo %ftpUser% echo %ftpPass% echo cd "%ftpFolder%" echo get "%TodayFile%" echo bye ) cd /d "%LocalFolder%" ftp -s:"%ftpFile%" %ftpIP%
这个方法来自CSDN,可以指定下载日期文件,就不用像方法1那样全部下载了
对于dos里调用date那块
写道
%date% 显示年月日 星期几 %time% 显示具体时间 一般执行echo %date%显示如下 2012-02-17 星期五 但是有时候你想根据自己的格式来显示,比如显示20120217 可以这样 echo %date:~0,4%%date:~5,2%%date:~8,2% 想显示2012:02:17 可以这样 echo %date:~0,4%:%date:~5,2%:%date:~8,2% %date:~x,y% 表示的意思是从第x位开始,只取y个字符 比如:%date:~5,2%的意思就是从echo %date%的全部显示里的第5个字符开始,只取2个字符
下面贴一个ftp的参数解释,来自http://www.blogjava.net/yruc/archive/2007/05/28/120504.html
FTP:文件传输协议
命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][computer] -v 不显示远程服务器响应 -n 禁止第一次连接的时候自动登陆 -i 在多个文件传输期间关闭交互提示 -d 允许调试、显示客户机和服务器之间传递的全部ftp命令 -g 不允许使用文件名通配符,文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符 -s:filename 指定包含ftp命令的文本文件。在ftp命令启动后将自动运行这些命令。在加的参数里不能有空格。 -a 绑定数据连接时,使用任何的本地端口 -w:windowsize 忽略默认的4096传输缓冲区 computer 指定要连接的远程计算机的ip地址 1) ? 说明:显示ftp命令的说明。后面可以加参数,是加需要解释的命令名,不加则显示包含所有命令列表。 2) append 说明:使用当前文件类型设置,将本地文件附加到远程计算机中。大概格式是 append local-file [remote-file] 其中local-file是说指定要添加的本地文件。 remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。 3)ascii 说明:默认情况下,将文件传输类型设置为ASCII 4)bell 说明:响玲开关,意思是文件传输完成后是否有玲声提醒。默认是关闭的。 5)binary 说明:将文件传输类型设置为二进制。 6)bye 说明:结束和远程计算机的ftp会话,也就是安全断开,退出ftp. 7)cd 说明:更改远程计算机上的工作目录。如cd data 其中data是要进入的远程计算机的目录。 8)close 说明:结束与远程服务器的ftp会话,并返回命令解释程序。 9)dir 说明:显示远程的文件以及子目录列表。如dir data local-file 其中data是指定要查看列表的目录,没指定的话就是当前目录。local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。 10)debug 说明:调试开关,打开的时候打印每个发送到远程计算机的命令,命令前有——> 默认情况是关闭的。 11)disconnnect 说明:与远程计算机断开连接,但还保持着ftp命令提示符。 12)get 说明:使用当前文件传输类型,把远程的文件拷贝到本地计算机上。 如get remote-file local-file remote-file是指定要复制的文件,local-file是指定本地计算机上的文件名, 没有指定的话则个remote-file同名。 13)glob 说明:文件名通配开关 14)hash 说明:转换每个传输数据快的散列标记打印(#).数据快的大小是2048字节。默认情况下是关闭的, 15)help 说明:显示ftp命令的解释,如help commmand 其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表 16)! 说明:这个命令差点忘记了功能是在本地计算机上运行指定命令。如! command 其中command就是你要运行的命令,如果不加command这个参数的话,则显示本地命令提示, 这时你输入exit命令就能返回到ftp了。 17)lcd 说明:更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗? 如lcd [directory] 其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录. 18)literal 说明:向远程ftp服务器发送协商参数,报告. 如lireral argument [...] 其中argument是指定要发送给远程服务器的协商参数。 19)ls 说明:显示远程目录的文件和字目录. 如ls remote-directory local-file 其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出. 20)mdelete 说明:删除远程计算机上的文件.如mdelete remote-file ... remote-file肯定是要删的文件啊,可以删除多个. 21)mdir 说明:显示远程目录的文件和子目录列表,他允许指定多个文件. 如mdir remote-file ... local-file 参数我想大家应该明白什么意思吧?不明白就看看前面的类似命令吧. 22)mget 说明:使用当前文件传输类型将多个远程文件复制到本地计算机. 如mget remote-files ... 其实remote-files可以指定多个,他就是指定要复制到本地计算机的远程文件. 23)mkdir 说明:创建远程目录. 如mkdir directory 这个命令和nt下的命令提示符中的md directory一样,不多说了. 24)mls 说明:显示远程目录的文件和目录简表 如mls remote-file ... local-file 其中remote-file这个参数是必须要加的,’’-’’是使用远程计算机的当前工作目录. 25)mput 说明:使用当前文件传输类型,将本地文件复制到远程计算机. 如mput local-files ... 26)open 说明:连接到指定ftp服务器上, 如open computer port 其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。 27)prompt 说明:转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件,如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的. 28)put 说明:使用当前文件传输类型将本地文件复制到远程计算机中, 如put local-file remote-file 其中local-file是指定要复制的本地文件, remote-file是指定要复制的远程计算机上的文件名,不指定的话是和本地计算机上的文件名同名. 29)pwd 说明:显示远程呢感计算机上的当前目录. 30)quit 说明:结束与远程计算机的ftp会话,并退出ftp. 31)quote 说明:向远程ftp服务器发送协议,报告.期待ftp单码应答,这个命令的功能和literal相同. 32)recv 说明:使用当前文件传输类型将远程文件复制到本地计算机,他与get命令作用相同。 33)remotehelp 说明:显示远程命令的帮助.这个命令的用法和help,!一样可以参考他的用法. 34)rename 说明:更改远程计算机上的文件名。 这个命令和nt的命令提示符的ren一样,如rename filename newfilename 35)rmdir 说明:删除远程目录. 这个命令和nt的命令提示符的rm一样,如rmdir directory 36)send 说明:使用当前文件传输类型将本地文件复制到远程计算机.send和put命令的功能一样。 如send local-file remote-file 37)status 说明:显示ftp连接和转换的当前状态 38)trace 说明:转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。 39)type 说明:设置或显示文件传输类型. 如type [type-name] 其中type-name 的意思是文件传输的类型,默认是ASCII,没加这个参数就是显示当前的传输类型. 40)user 说明:指定连接到远程计算机的用户. 如user user-name [passwd] [account] 其中user-name不用说都是用来登陆计算机的用户名了, passwd是指定user-name的密码,不指定的话ftp会提示输入密码。 account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号. 41)verbose 说明:转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的.