不要重复造轮子!对于一些重复性的工作,可以通过编写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