分享

Windows本地加异地备份方案

 fssky 2011-08-23
对大多数企业来讲,系统和数据的备份既重要,又简单,但又经常做不好,鄙人的观点是,一者要重视备份,二者要有好的备份方案。这里给出我的常用脚本,简洁而好用,供大家参考,若有错误,望指点。
新建备份目录,如F:\backup
新建备份脚本,如F:\script\backup.bat
在自动任务中创建任务,视情况定期执行此脚本,备份数据文件将会自动创建在脚本所在目录F:\backup,因为各种数据库的备份比较特殊,这里不详说,以SQL Server为例,假设已经由其SQL Server作业自动创建了BAK或TRN备份到F:\backup\sqlback_weekly目录了,脚本内容如下,rem为注释符。
 
 

 

            
  1. @echo off  
  2.  
  3. rem =================================================  
  4. rem author Zhao Yanan  
  5. rem date 2010/03/10  
  6. rem 注意事项:  
  7. rem 此脚本添加到自动任务中运行一项后,末尾可添加“ >> backup.log 2>&1”(不加引号)  
  8. rem 如果日志每次都较多,以致文件太大而不方便打开,可把>>改为>。  
  9. rem 脚本由超级管理员账户运行正常,请不要使用system用户,否则net use命令执行不会成功。  
  10. rem =================================================  
  11.  
  12. echo ===================backupstart==================  
  13. date /t  
  14. time /t  
  15.  
  16. rem 进入备份目录  
  17. cd ..\backup  
  18.  
  19. rem 处理旧备份  
  20. del *.reg.1  
  21. del *.rar.1  
  22.  
  23. rename *.reg *.reg.1  
  24. rename *.rar *.rar.1  
  25.  
  26. rem 备份注册表  
  27. regedit -e regedit.reg  
  28.  
  29. rem 采用winrar备份  
  30. rem 参数说明:  
  31. rem a,添加压缩文件,必须的参数  
  32. rem -ri0:1,其中0是线程优先级,0为默认,1最低,15最高,1是每压缩一个文件暂停1ms,  
  33. rem 可降低CPU使用率,并可以减少磁盘读写错误的概率,但同时需要考虑备份总时长。  
  34. rem -v2000M,即每个分卷大小是2000*1000*1000Bytes  
  35. rem -sv,分卷采用固实的方式,增加有部分分卷损坏时恢复数据的概率。  
  36. rem -r,包含子文件夹和文件  
  37. rem rar比winrar命令更多,使用方法基本一致。  
  38. rem -m5,采用最大压缩率,-m0,不压缩,默认是-m3  
  39. rem 更多帮助可参考winrar自带的帮助文件  
  40.  
  41. rem 设置本地环境变量  
  42. setlocal  
  43. path="C:\Program Files\WinRAR" 
  44. rar a -y script.rar f:\script\*.bat  
  45. rar a -ri10:3 -y -r IIS_MetaBack.rar %SystemRoot%\System32\inetsrv\MetaBack  
  46. rar a -ri10:3 -y -r serv-u.rar "d:\Program Files\Serv-U"  
  47. rem 下面采用非固实分卷压缩备份大目录,可解决单个大文件FTP上传失败的问题  
  48. rem 因www数据超过10GB,为节省时长,没有采用-ri参数  
  49. rar a -ri10:3 -sv -v2000M -y -r mssql.rar "F:\sqlback_weekly"  
  50. rar a -sv -v2000M -y -r -m2 www.rar e:\web  
  51. rem 结束本地环境变量  
  52. endlocal  
  53.  
  54. rem 通过FTP上传到异地,下面的XXX代表异地FTP的IP,本脚本不采用此方法  
  55. rem ftp -i -s:ftp.ini XXX.XXX.XXX.XXX  
  56. rem 参数说明  
  57. rem 这里ftp的参数,有时候需要加上-n  
  58.  
  59. rem 通过SMB协议和xcopy命令传输到异地,此方法需要本地和异地服务器之间能使用共享  
  60. net use t: /del /y  
  61. net use t: \\XXX.XXX.XXX.XXX\sharedir "share?2010" /user:share  
  62.  
  63. xcopy /r /y /c *.rar t:\  
  64. xcopy /r /y /c BESR\*.sv2i t:\BESR  
  65. xcopy /r /y /c BESR\*.v2i t:\BESR  
  66. rem 因文件太大,下面是打包后直接保存到异地,因采用了分卷,所以异地目录需要有删除权限  
  67. "C:\Program Files\WinRAR\rar" a -sv -v2000M -y -r -m2 t:\ourweb.rar e:\web\ourweb  
  68.  
  69. net use t: /del /y  
  70.  
  71. time /t  
  72. echo ===================backupdone=================  
  73. exit  
  74.  
 
下面是ftp.ini的内容:
 
            
  • # 带“#”标识的行是使用说明,真实环境中要删除  
  • # 下面是用户名和密码  
  • username  
  • password  
  • # 采用二进制模式,否则二进制文件传输后是不能用的。  
  • bin  
  • get www.rar  
  • # 上传多个文件命令  
  • mput *.rar  
  • lcd www  
  • # 事先在FTP上新建www目录  
  • cd www  
  • put *.rar  
  • bye  
  •  
    因为异地FTP的密码都放在这里了,肯定不安全,我的方法是,异地FTP目录设置为只写,拒绝其它所有权限,异地的备份当然也需要循环,可以异地服务器上执行定期删除任务。或者改为由异地备份服务器定期获取备份。
    考虑到企业有时候需要更久的备份,可以在其它目录里存放永久备份,而不会被自动任务删除。

      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多