Mysql定时备份数据脚本

项目3.0的集群以搭建完成,只剩下细节相关的配置,和后期安全和优化的处理,考虑到数据库数据需要备份处理,

但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能,

所以考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据;

#!/bin/bash
###数据库定时备份,并将备份的库进行打包压缩
user=root
passwd=123456
back_path=/vdb1/mysql/backup
data_name=zmq123
date=`date +%Y%m%d`

mkdir $back_path/$date
mysqldump -u $user -p$passwd $data_name |gzip > $back_path/$date/$data_name.sql.gz

#定时任务,计划在每天晚上23点55分进行数据备份
55 23   *  *  * . /vdb1/mysql/mysqldump.sh

当运行了一段时间后,发现备份的数据有些占磁盘空间的,而我要保存的只是最近一月的数据就可以了,所以将这个脚本进行升级,

在可能没有人注意的情况下,而磁盘不会被备份数据占满;

###升级版每天晚上11:55分进行定时备份,
#!/bin/bash
year=`date +%Y`
month=`date +%m`
day=`date +%d`
backpath=/vdb1/mysql/backup/$year$month/
user=root
passwd=123456
dataname=zmq123

[ -d $backpath ] || mkdir -p $backpath
rq=`date +%Y%m%d`
mysqldump -u $user -p$passwd $dataname|gzip >$backpath/$rq.sql.gz

#定时任务
分 时   日 月 周
55 23   *  *  * . /vdb1/mysql/mysqldump.sh

########每月2号晚上11:30进行定时删除上个月备份数据
#!/bin/bash
year=`date +%Y`
month=`date +%m`
month=`expr $month - 1`
 if [ $month -eq 0 ];then
    month=12
    day=31
    year=`expr $year - 1`
 fi

if [ $month -lt 10 ];then
    pre=0
 fi

backdir=/vdb1/mysql/backup/$year$pre$month
rm -rf $backdir                    #删除上一个月的数据
##定时任务
30 23  2 * * . /vdb1/mysql/delmysqlbak.sh

OK!编写完成,先运行段时间看下吧!有情况再进行改进;

时间: 2024-12-17 16:49:15

Mysql定时备份数据脚本的相关文章

mysql 定时备份bat脚本 ,方便小型服务简单快速备份mysql

mysql定时备份bat脚本 echo 数据库为用户名为root 密码为root 数据库名为kdykt echo mysqldump 命令如果没有配置环境变量要在bin目录下执行 set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%" D: cd D:\phpStudy\MySQL\bin mysqldump --opt -u root --password=root kdykt > kdykt_%Ymd%

mysql检查备份数据脚本并在zabbix上告警

知识点:1.zabbix自定义设置触发报警 2.zabbix_sender用法 3.zabbix采集器的用法 介绍zabbix_sender用法:zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?这时候就需要使用zabbix监控类型zabbix trapper,配合zabbix_sender给它传递数据.所以说zabbix_sender是更新items值最快的方式 zabbix采集器是zabbix监控上的一种模式,是其对服务器数据采集

mysql定时备份shell脚本

#!/bin/bash #每天早上4点, mysql备份数据 #chmod 700 backup.sh #crontab -e #0 4 * * * /home/erya/run/moniter/mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" #backup directory base_dir="/home/ba

Centos 定时备份数据

Centos 通过计划任务定时备份数据 今年公司买了一套OA产品,对于功能现在都还处在开发和配置阶段,作为管理员的我,需要对每天的数据及对应的数据库进行定期备份,因为OA产品是运行在Linux上的,所以我们需要Linux上配置shell脚本,然后通过计划任务来实现对数据的定时备份,对于相关脚本内容见下即可,但是需求是需要对指定的目录进行压缩然以日期进行命名,最终移动到指定的路劲即可.对于linux上的计划任务程序跟windows上的很相似,windows上我们可以直接运行taskschd.msc

Linux定时备份数据到百度云盘

导读:如今的百度云盘免费容量都是2T了,即使把电脑上所有的东东都放上去,也还有大把的剩余空间.对于站长来说,是完全可以充分利用这些硬盘空间的,现在我们就用百度云盘来备份Linux服务器上的数据. 一直在想,要是百度云盘支持FTP多好,就可以实现Linux定时备份数据到百度云盘了.尤其在各云盘容量都达到T级后,更是有种浪费的感觉. 昨天无意间发现了一个脚本,可以实现Linux定时备份数据到百度云盘. 安装bpcs_uploader 虽然关于bpcs_uploader的教程不少,但都千篇一律.虽然网

linux下mysql定时备份数据库

linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql 这样就把discuz数据库所有的表结构和数据备份到discuz_2010-04-01.sql里了,如果数据量大会占用很大空间,这时可以利用gzip压缩数据, 命令如下:#mysqldump -uuse

MySql 定时备份数据库

转载:MySql 定时备份数据库 每天零点备份一次数据库,备份文件放在指定目录(如果目录不存在则新建),按月存储: 将下面这段命令存储为一个 *.bat 文件,添加一个Windows任务计划程序(Task scheduler)指向这个文件,每天执行一次即可. rem ******Code Start*********** @echo off C: CD C:\Program Files\MySQL\MySQL Server 5.7\bin set "Y=%date:~10,4%" se

MySQL 定时删除数据

存储过程: 1. MySQL 5.0 以后开始支持存储过程. 2. 我们常用的SQL语句在执行的时候需要先编译,然后执行,而存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中(因而执行速度比较快),用户通过制定存错过程的名字并给定参数来调用执行它. Event事件: 1. MySQL 5.1以后开始引入event概念: 2. event 即"时间触发器",通过在特定时间触发SQL语句或者存储过程执行. MySQL 定时删除数据实现方法:mysql存储过程 + even

expect与rsync 异步并行备份数据脚本

expect与rsync 异步并行备份数据脚本 #!/bin/bash #author:qunying.liu #2014.08.02 #脚本用途:通过rsync从远程机器备份数据到本机机器对应目录 #脚本目录:/usr/local/scripts/,expect脚本目录:/usr/local/scripts/dsfilersync, #备注:一个机器对应一个exp脚本,该脚本中包含该机器所有rsync同步目录. #初始化目录 cd   /usr/local/scripts/ grep "rsy