快捷搜索:  汽车  科技

linux查看mysql备份方式(Linux下Shell脚本简单实现Mysql全量备份)

linux查看mysql备份方式(Linux下Shell脚本简单实现Mysql全量备份)定时执行该shell脚本 crontab -e 0 1 * * * /home/mysql-backup.sh好了,大致就这样了。这里如果不知道怎么rsync同步的可以自行百度下,网上教程一堆,也比较简单,当然,也可以使用方法。3、同步之后,保留30天数据库(可自行设置任意天数)#! /bin/bash #by mishen BAKDIR="/data/mysql" MYSQLUSR="数据库账户" MYSQLPW="数据库密码" #写入日志文件 LOG=/var/log/mysqlbackup.log NOW=`date %Y-%m-%d-%H:%M` [ ! -d $BAKDIR ] && mkdir -p $BAKDIR echo "-------------Start-------------" >>

图/文:迷神

Mysql的数据库备份是一个搞linux运维的基本技能,备份方法有很多种,我们这里使用一个简单的方法,利用mysqldump这个工具,结合shell脚本简单实现mysql自动全量备份 rsync异地备份功能。

linux查看mysql备份方式(Linux下Shell脚本简单实现Mysql全量备份)(1)

大致思路如下:

1、先备份数据库,可以指定一些数据库(可压缩)

2、基于ssh免密登录,利用rsync实现异地备份。

3、同步之后,保留30天数据库(可自行设置任意天数)

执行代码如下:

#! /bin/bash #by mishen BAKDIR="/data/mysql" MYSQLUSR="数据库账户" MYSQLPW="数据库密码" #写入日志文件 LOG=/var/log/mysqlbackup.log NOW=`date %Y-%m-%d-%H:%M` [ ! -d $BAKDIR ] && mkdir -p $BAKDIR echo "-------------Start-------------" >>$LOG echo "Start at `date`" >>$LOG #备份3个数据库 for db in mydb1 mydb2 mydb3 do mysqldump -u$MYSQLUSR -p$MYSQLPW $db | gzip > $BAKDIR/$db-$NOW.sql.gz if [ $? == 0 ];then echo "$NOW--$db backup succeeded!" >> $LOG else echo "$db backup failed!" >> $LOG fi done #利用 rsync 同步远程服务器 rsync -az --delete /data/mysql/* root@xxx.xxx.xxx.xxx:/mysql/backup if [ $? == 0 ];then echo "$NOW Remote rsync succeeded!" >> $LOG else echo "$NOW Remote rsync failed!" >> $LOG fi #保留30的 find $BAKDIR -type f -mtime 30 |xargs rm -rf echo "End at `date`" >>$LOG echo "-------------End-------------" >>$LOG

给脚本命令,比如我常用的mysql_backup.sh,给脚本添加可执行权限

chmod x mysql-backup.sh

设置计划任务

定时执行该shell脚本 crontab -e 0 1 * * * /home/mysql-backup.sh

好了,大致就这样了。这里如果不知道怎么rsync同步的可以自行百度下,网上教程一堆,也比较简单,当然,也可以使用方法。

猜您喜欢: