自动化运维必看!Shell脚本实现Mysql自动备份!

不要重复造轮子!对于一些重复性的工作,可以通过编写shell脚本来进行自动实现!

1、编写shell脚本实现自动备份mysql

[root@a shell]# vim a.sh 

#! /bin/bash
# auto_backup_mysql
# 20200522

# define back path
BAK_DIR=/data/backup/`date +%Y%m%d` 	#备份文件保存位置,`date +%Y%m%d` 这个可实现以时间点命名文件夹
MYSQLDB=test1 #数据库的名字
MYSQLUSR=Jack	#数据库用户名
MYSQLPW=a	#数据库密码
MYSQLCMD=/usr/bin/mysqldump		#备份命令位置

# whethe is root
if [ $UID -ne 0 ];then
        echo "must to be use root for exec shell"
        exit
fi

# create back_path
if [ ! -d $BAK_DIR ];then
        mkdir -p $BAK_DIR
else
        echo "$BAK_DIR is exist!"
fi

# mysql backup cmd
$MYSQLCMD -u$MYSQLUSR -p$MYSQLPW -d $MYSQLDB > $BAK_DIR/$MYSQLDB.sql

if [ $? -eq 0 ];then
        echo "backup success"
else
        echo "backup failed"
fi

2、计划定时任务,定时备份

[root@a shell]# crontab -e

0 0 * * * /bin/bash /data/shell/a.sh >> /tmp/mysql_bak.log

这样设置可以让虚拟机在每天0:0分的时候自动备份,并写入/tmp/mysql_bak.log

猜你喜欢

转载自blog.csdn.net/qq_45714272/article/details/106296310