windows系统自动备份ftp数据以及ftp参数解释
很多时候会将一些重要数据复制到ftp服务器上去,但是万一哪天ftp服务器也崩掉了,数据不就完蛋了么。
所以出于安全的顾忌,可以考虑再来一台电脑来保存数据,所以就涉及到了自动备份数据,我的情况是windows xp ==》windows xp,当然其中有一台是安装了ftp server的
不过话说回来,网上这个一搜一大堆的。我自己也小结记录一下。
方法1:
在xp电脑你要保存备份数据的目录下创建两个文件
第一个txt文件内容如下,加入文件名叫ftp.txt
username(登陆用户名)
passwd(登录密码)
cdbackup(进入文件目录)
prompt(关闭应答,这样在使用mget的时候就不用一个个敲了,ftp-i可以达到相同的目的,但是两个不要同时用)
mget*.*(下载所有文件,也可以用getfile_name)
close(关闭ftp连接!文明操作有秩序!)
bye (say bye-bye to ftp,gentleman will do)第二个,文件名就必须是run.bat,可以先新建txt文件,然后在改后缀,内容如下
可以手动运行一下run.bat看看效果
下面就是自动化了
点击“控制面板” --》 “任务计划” --》 “下一步” --》 “浏览” --》 “选到run.bat” --》 唉,不说了,自己看着选就是了
这样基本就完成了二次自动备份数据了
但这个方法是下载所有ftp文件,不是很好。。
方法2:
只需要手动建立一个bat文件即可,内容如下
rem指定FTP用户名
setftpUser=user
rem指定FTP密码
setftpPass=passwd
rem指定FTP服务器地址
setftpIP=192.168.2.245
rem指定待下载的文件位于FTP服务器的哪个目录
setftpFolder=backup
rem指定从FTP下载下来的文件存放到本机哪个目录
setLocalFolder=D:\Kugou
rem假设本机日期格式为yyyy-mm-dd
setTodayFile=%date:~0,10%.tar
setftpFile=get_ftp_file.txt
>"%ftpFile%"(
echo%ftpUser%
echo%ftpPass%
echocd"%ftpFolder%"
echoget"%TodayFile%"
echobye
)
cd/d"%LocalFolder%"
ftp -s:"%ftpFile%" %ftpIP%这个方法来自CSDN,可以指定下载日期文件,就不用像方法1那样全部下载了
对于dos里调用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
说明:使用当前文件类型设置,将本地文件附加到远程计算机中。大概格式是
appendlocal-file[remote-file]其中local-file是说指定要添加的本地文件。
remote-file是说指定要将local-file附加到远程计算机文件,要是省了这个,则是使用本地文件名做远程文件名。
3)ascii
说明:默认情况下,将文件传输类型设置为ASCII
4)bell
说明:响玲开关,意思是文件传输完成后是否有玲声提醒。默认是关闭的。
5)binary
说明:将文件传输类型设置为二进制。
6)bye
说明:结束和远程计算机的ftp会话,也就是安全断开,退出ftp.
7)cd
说明:更改远程计算机上的工作目录。如cddata其中data是要进入的远程计算机的目录。
8)close
说明:结束与远程服务器的ftp会话,并返回命令解释程序。
9)dir
说明:显示远程的文件以及子目录列表。如dirdatalocal-file
其中data是指定要查看列表的目录,没指定的话就是当前目录。local-file是指定要保存列表的本地文件,不指定的话就在屏幕输出。
10)debug
说明:调试开关,打开的时候打印每个发送到远程计算机的命令,命令前有——>
默认情况是关闭的。
11)disconnnect
说明:与远程计算机断开连接,但还保持着ftp命令提示符。
12)get
说明:使用当前文件传输类型,把远程的文件拷贝到本地计算机上。
如getremote-filelocal-file
remote-file是指定要复制的文件,local-file是指定本地计算机上的文件名,
没有指定的话则个remote-file同名。
13)glob
说明:文件名通配开关
14)hash
说明:转换每个传输数据快的散列标记打印(#).数据快的大小是2048字节。默认情况下是关闭的,
15)help
说明:显示ftp命令的解释,如helpcommmand其中command就是你要解释的命令,如果不加command这个参数的话就会显示所有命令的列表
16)!
说明:这个命令差点忘记了功能是在本地计算机上运行指定命令。如!command其中command就是你要运行的命令,如果不加command这个参数的话,则显示本地命令提示,这时你输入exit命令就能返回到ftp了。
17)lcd
说明:更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊,在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗?
如lcd[directory]其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录.
18)literal
说明:向远程ftp服务器发送协商参数,报告.
如lireralargument[...]其中argument是指定要发送给远程服务器的协商参数。
19)ls
说明:显示远程目录的文件和字目录.
如lsremote-directorylocal-file
其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出.
20)mdelete
说明:删除远程计算机上的文件.如mdeleteremote-file...
remote-file肯定是要删的文件啊,可以删除多个.
21)mdir
说明:显示远程目录的文件和子目录列表,他允许指定多个文件.
如mdirremote-file...local-file
参数我想大家应该明白什么意思吧?不明白就看看前面的类似命令吧.
22)mget
说明:使用当前文件传输类型将多个远程文件复制到本地计算机.
如mgetremote-files...
其实remote-files可以指定多个,他就是指定要复制到本地计算机的远程文件.
23)mkdir
说明:创建远程目录.
如mkdirdirectory这个命令和nt下的命令提示符中的mddirectory一样,不多说了.
24)mls
说明:显示远程目录的文件和目录简表
如mlsremote-file...local-file
其中remote-file这个参数是必须要加的,’’-’’是使用远程计算机的当前工作目录.
25)mput
说明:使用当前文件传输类型,将本地文件复制到远程计算机.
如mputlocal-files...
26)open
说明:连接到指定ftp服务器上,
如opencomputerport其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。
27)prompt
说明:转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件,如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的.
28)put
说明:使用当前文件传输类型将本地文件复制到远程计算机中,
如putlocal-fileremote-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一样,如renamefilenamenewfilename
35)rmdir
说明:删除远程目录.
这个命令和nt的命令提示符的rm一样,如rmdirdirectory
36)send
说明:使用当前文件传输类型将本地文件复制到远程计算机.send和put命令的功能一样。
如sendlocal-fileremote-file
37)status
说明:显示ftp连接和转换的当前状态
38)trace
说明:转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。
39)type
说明:设置或显示文件传输类型.
如type[type-name]
其中type-name的意思是文件传输的类型,默认是ASCII,没加这个参数就是显示当前的传输类型.
40)user
说明:指定连接到远程计算机的用户.
如useruser-name[passwd][account]
其中user-name不用说都是用来登陆计算机的用户名了,
passwd是指定user-name的密码,不指定的话ftp会提示输入密码。
account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号.
41)verbose
说明:转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的.