客户需要对网站进行定期备份,并保留最近30天的文件,编写后以下脚本,通过Windows的任务计划进行调度

对比手工和任务计划调度运行情况来看,手工运行中可直接调用RAR.exe和网络进行传输,但是任务计划调度则需要调用安装RAR的程序并且无法进行网络进行传输

 ::  用于备份网站文件
rem ***********************需要配置***********************************
rem 设置需要备份目录
set sourcePath=D:\esa_app\ekp-j\ekp rem 存放压缩文件远程服务器地址、用户名和密码
set remoteServerPath=10.164.117.75
set remoteUserName=administrator
set remotePassword=admin12345! rem 远程服务器存放备份文件目录
set remoteTargetPath=d$\ekp_back rem 压缩程序路径
set rarProgExePath="C:\Program Files (x86)\WinRAR\RAR.exe"
rem **************************************************************** rem 临时备份目录存放目录
set workRootPath=D:\$$TEMP_EKP_BACK rem 备份保留份数
rem set backupNumber=30
set backupNumber=5 rem 形成备份文件名称和存放路径
set workFileName=ekp%date:~0,4%%date:~5,2%%date:~8,2%
set backWorkPath=%workRootPath%\%workFileName%
set strBatCurrPath=%cd% rem 创建备份工作目录
if not exist %workRootPath% md /s /q %workRootPath%
if exist %backWorkPath% rmdir /s /q %backWorkPath%
md %backWorkPath% rem 把源文件拷贝到工作目录中
xcopy %sourcePath% %backWorkPath% /s /e /h /y >%workRootPath%\log_backup_ekp%date:~0,4%%date:~5,2%%date:~8,2%.log rem 压缩文件
cd/d "%backWorkPath%\"
%rarProgExePath% -y a "%backWorkPath%.rar" -r * rem 把压缩文件传送到远程服务器进行备份
net use \\%remoteServerPath% %remotePassword%/user:%remoteUserName%
xcopy /y "%backWorkPath%.rar" \\%remoteServerPath%\%remoteTargetPath% rem 在远程服务器保留最新文件,份数按照设置进行保留
for /f "skip=%backupNumber% delims=" %%i in ('dir /s /b /o-d \\%remoteServerPath%\%remoteTargetPath%\*.rar') do del /f /q "%%i" rem 删除工作目录和压缩文件
cd/
rmdir /s /q %backWorkPath%
del /f /q "%backWorkPath%.rar"

使用命令行备份指定文件夹并保留最新N份的更多相关文章

  1. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

  2. 【Android测试】【随笔】在手机里用命令行创建中文文件夹

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...

  3. Ubuntu下SVN命令行递归加入文件夹文件(免去一个一个的加入 --force)

    因为在Linux下一直没有找到好的svn工具(类似于TortiseSVN的).当然eSVN这些也不错,但就是使用上认为还不是很习惯.终于还是选择了svn原始的命令行工具来进行版本号控制操作. 命令行的 ...

  4. time machine不备份指定文件夹

    osx中常常会使用timemachine来备份一些文件,timemachine能够使某个文件夹恢复到之前某个时刻的状态,很的方便.但是备份须要空间,特别是有些我们并不想备份一些无关紧要的文件,比方电影 ...

  5. window cmd 命令行下创建文件夹和文件

    新建文件夹命令: makedir 文件名 新建文件命令: type null> 文件名.文件类型 链接

  6. win7系统cmd命令切换到指定文件夹目录

    win7 系统下的cmd命令,直接cd命令切换盘符和以往有些不同,现在默认只能在当前盘符中改变目录,如果要改变盘符则需要多加一个/d命令.如下图所示:(对cd命令的帮助 大家可借助help cd命令进 ...

  7. 使用nginx的rewrite实现代理指定文件夹命令方法

    使用nginx的rewrite实现代理指定文件夹命令方法 使用nginx代理Tomcat,Tomcat公布web的时候通常都是带着项目名称的. 比方项目名称为"aven".那么公布 ...

  8. python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)

    1.代码的运行结果: 获取 指定文件夹下.指定文件格式 文件的: 总代码行数.总注释行数(需指定注释格式).总空行数: #coding: utf-8 import os, re # 代码所在目录 FI ...

  9. [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件

    原文:http://www.crifan.com/csharp_call_explorer_to_open_destinate_folder_and_select_specific_file/ C#中 ...

随机推荐

  1. Asp.Net实现FORM认证的一些使用技巧(转)

    最近因为项目代码重构需要重新整理用户登录和权限控制的部分,现有的代码大体是参照了.NET的FORM认证,并结合了PORTAL KITS的登录控制,代码比较啰嗦,可维护性比较差.于是有了以下的几个需求( ...

  2. Android Studio生成javadoc出错的解决办法

    一般使用Android Studio生成javadoc会有两个问题: 空指针异常 文档乱码 解决办法如下: 第1个问题:Tools --> Generate JavaDoc -->打开对话 ...

  3. 如何开发Domino中的WebService

    在domino中写webservice可以使用LotusScript,也可以使用java,由于LotusScript API提供的功能多数都是操作domino数据库中文档的,在web service中 ...

  4. Qt 实现遥感图像显示时的连动效果

    遥感图像处理时少不了ENVI,用过ENVI的人都知道,打开图像时或图像处理完后,在缩略图上移动鼠标时,鼠标周围的图像信息会在大的视图中实时的显示,即大图会跟着小图中的鼠标移动,这即是图像的连动效果.如 ...

  5. 美行Thinkpad八通道快捷入口

    美行Thinkpad八通道快捷入口 链接: http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/?__followRobots=true打 ...

  6. System.Diagnostics.Debug和System.Diagnostics.Trace 【转】

    在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类——debug ...

  7. 【国内独家首发】iPhone4 iOS7不完美越狱教程新鲜出炉

    准备工作: 1.Mac (OSX 10.8以上系统): 2.iPhone 4 (iPhone3, 1 iOS 7.0.2): 3.iPhone 4数据线一根: 4.下载越狱工具包:ios7_jb_ki ...

  8. NYOJ 741 "数学家"ST

    "数学家"ST 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 ST是个非常特别的人类,不仅喜欢做一些不同平常的事,并且对于在无聊的时候怎样打发时 ...

  9. VS2010运行类向导提示“未实现该方法或操作”

    因为解决方案中包含有安装项目,将这些项目排除掉,即可打开类向导.

  10. 将十六进制的颜色字符串转为UIColor

    扩展UIColor,将十六进制的颜色字符串转成UIColor对象. extension UIColor { static func colorWithHexString(hex:String) -&g ...