go定时读取mysql_mysql 备份脚本以及定时任务

数据是企业最宝贵的资源,作为运维人员备份数据库的数据是特别重要的一项工作,以下是个人查找资料以及个人总结所记录的mysql数据库备份脚本,记录在此作为学习和复习笔记。

(1)分库备份脚本#/bin/sh

#version 0.1

MYUSER=root

MYPASS=123123

#SOCKET=/data/3306/mysql.sock

MYLOGIN="mysql -u$MYUSER -p$MYPASS "

MYDUMP="mysqldump -u$MYUSER -p$MYPASS  -B"

DATABASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

for dbname in $DATABASE

do

MYDIR=/server/backup/$dbname

[ ! -d $MYDIR ] && mkdir -p $MYDIR

$MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz

done

(2)分库分表备份脚本:#/bin/sh

MYUSER=root

PASSWD=123123

#SOCKET=/data/3306/mysql.sock

MYLOGIN="mysql -u$USER -p$PASSWD "

MYDUMP="mysqldump -u$USER -p$PASSWD "

DATEBASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"

for dbname in $DATEBASE

do

TABLE="$($MYLOGIN -e "use $dbname;show tables;"|sed '1d')"

for tname in $TABLE

do

MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)

[ ! -d $MYDIR ] && mkdir -p $MYDIR

$MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz

done

(3) 设置定时任务

crontab

语法:

*    *    *    *    *   command

minute   hour   day   month   week   command

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

例如:

57  21  *  *  * /bin/sh   /bash/script/back_mysql.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值