一键备份服务器文件,使用bat一键备份数据并打包成rar

每次更新服务器之前一定要备份原有的数据,万一更新失败,也可恢复为更新之前的状态

由于这些服务器是在Windows环境,于是尝试写了个bat。备份现在的数据,并且备份的文件名为当前时间.rar

首先停止mysql服务。不停止服务的话是不能压缩的,因为文件正在使用中。

然后设置%rar%为C盘下面winrar.exe这个程序

接着开始压缩文件,调用%rar%,参数 a 为添加压缩文件,参数 hp 为设置密码。

前面的if判断语句为判断时间如果在10点以前,需手动加“0”补齐,

这里添加了两个文件夹ew_account和ew_log。

代码如下:

@echo off

net stop MySQL56

@echo Starting Backup Date

@echo off

set rar="C:\Program Files\WinRAR\WinRAR.exe"

cd \Program Files\MySQL\MySQL Server 5.6\data\

IF %time:~,-9% lss 10 %rar% a -hpqaz123 D:\EastShushan\Bak_Data\Data_Andriod_1_%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%.rar ew_account

IF %time:~,-9% lss 10 %rar% a -hpqaz123 D:\EastShushan\Bak_Data\Data_Andriod_1_%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%.rar ew_log

net start MySQL56

@echo All Bak Data is completed and MySQL is Started!

@pause

但是却发现,打开压缩包,里面包含了绝对路径,从program files一层层一直到ew_account…

这…这不能忍啊…

好吧,先进这个目录。

cd \Program Files\MySQL\MySQL Server 5.6\data

然后再压缩,这样就好了。打开里面只有ew_account和ew_log这两个文件夹及其下所有文件。

注:

若备份文件过大,会导致压缩时间过长,这样可能会导致在判断时间的时候有误差,导致压缩成多个压缩包。这样的话,时间就没必要这么详细了,以日期为准就行。删掉引用time的那部分。同时前面那部分判断时间的也可以去掉,简化为:

%rar% a -hpqaz123 D:\EastShushan\Bak_Data\Data_Andriod_1_%date:~0,4%%date:~5,2%%date:~8,2%.rar ew_account

欢迎加我好友,聊聊代码,说说理想,吹吹牛逼,谈谈人生~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值