先讲目的:
(1)在服务器上能按照一个月备份一次数据库,保存为xls格式到指定目录
(2)备份的数据为当前数据库最新的第1000条之后所有,并删除已经备份的数据,保持数据库备份后只有1000条数据(具体多少条,个亿根据实际情况来定,目前我日常活跃的数据也就差不多7、8百条,所以我只保留1000就差不多了,不会影响网站的正常运行)
步骤:
1.先写一个.bat文件,代码如下:
解释的基本差不多,对于在bat文件里怎么输出日期,可以百度查下看看,很简单。
如果以上代码没写错的话,运行这个bat文件,双击执行,在制定的文件夹下就会生成相对应的备份文件。(提醒,备份的时候一定要看看数据库打开了没有,指定的输出地址是否存在,避免这样的小尴尬,耽误时间)
2.删除已经备份的数据
执行上面的bat文件后,会把相对性的表最新的第1001条开始到最后,备份到本地,接下来就是如何删除已经备份的这部分数据。
具体代码如下:
先写个php文件
然后在bat文件中加入执行这段代码的程序
然后执行bat文件的时候就会把相应的已经备份的数据删除,如果你不是php,是java或者python也一样的道理。
3.最后如何实现让服务器定时执行这个bat文件了,其实就是新建一个定时任务
控制面板-->管理工具-->任务计划程序-->创建任务。 直接指定之前写好的bat文件地址,设定你喜欢的时间频率就好了。不懂可以百度下就好。
总结:
方法感觉是有点笨,不过总归是实现了我的需求。目前没有想到更好的优化的方案。请大神指点。。。