当前位置:首页 >> 脚本专栏

用winrar和ftp命令实现自动备份文件并自动上传到指定的ftp服务器

1.利用winrar建立压缩包

首先将要备份的文件路径收集到一个文本文件里 如我的rat.txt里内容如下:

"C:\Documents and Settings\EvanZhang\Desktop\untitled.JPG"
"C:\Documents and Settings\EvanZhang\Desktop\文具用品领用确认表.xls"
"C:\Documents and Settings\EvanZhang\Desktop\test.exe"

建立backup.bat文件,内容如下

"C:\Program Files\WinRAR\WinRAR.exe" a -m5 -k -t -ag[YYYY-MM-DD-HH-MM-SS] c:\backup-.rar @c:\rar.txt
-a 添加文件到压缩文件中
-m5 设置压缩比
-k 锁定压缩文件不允许编辑
-t   压缩后测试
-ag 以当前日期生成文件名
c:\backup-rar 生成压缩包前缀
@c:\rar.txt 要压缩的文件

2.建立ftp命令批处理

添加如下行到 backup.bat
ftp -s:c:\ftp.txt
建立 ,ftp.txt内容如下
open ***.***.***.***
user
password
bin
put back*.rar
bye

open 主机名称   如open
user   ftp用户名
password ftp帐户密码
bin 以2进制为传送
put back*.rar 是将刚才用rar 压缩的文件上传
bye 为结束ftp对话
3.将backup.bat 在windows 工作计划中指定运行时间
4.测试
backup.bat 完整内容如下:
"C:\Program Files\WinRAR\WinRAR.exe" a -m5 -k -t -ag[YYYY-MM-DD-HH-MM-SS] c:\backup.rar @c:\rar.txt
ftp -s:c:\ftp.txt

rar.txt完整内容如下:

"C:\Documents and Settings\EvanZhang\Desktop\untitled.JPG"
"C:\Documents and Settings\EvanZhang\Desktop\文具用品领用确认表.xls"
"C:\Documents and Settings\EvanZhang\Desktop\test.exe"

完整内容如下:

open ***.***.***.***
user
password
bin
put back*.rar
bye


运行测试,测试结果如下:

ftp> Connected to **.**.**.**
open **.**.**.**
220 Serv-U FTP Server v6.3 for WinSock ready...
User (**.**.**.**(none)):
331 User name okay, need password.

230 User logged in, proceed.
ftp> bin
200 Type set to I.
ftp> put back*.rar
200 PORT Command successful.
150 Opening BINARY mode data connection for backup[2006-09-14-13-30-06].rar.
226 Transfer complete.
ftp: 747412 bytes sent in 11.94Seconds 62.61Kbytes/sec.

ftp> bye
221 Goodbye!

因winrar压缩实在图形界面下压缩的 所以看不到压缩记录,如果是在linux下面使用tar方式压缩的时候,压缩记录都会看的很清楚。