2.1 用shell脚本实现自动备份MySQL数据库

本文介绍了一个用于自动化MySQL数据库备份的Shell脚本。脚本详细配置了备份路径、数据库名称、用户名、密码及mysqldump命令。通过crontab设置,确保每日凌晨自动执行备份任务,同时记录操作日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建shell脚本文件

vim /mysql/data/shell/auto_backup_mysql.sh

文件里添加内容如下

#/bin/bash
#auto bakcup mysql db
#by authors wugk 2019
#definie backup path

BAK_DIR=/data/backup/`date +%Y%m%d`
MySQLDB=firstdb
MySQLUSR=first
MySQLPW=123
MySQLCMD=/usr/bin/mysqldump
if [ $UID -ne  0 ];then
        echo "Must to be use root for exce Shell."
        exit
fi


if [ ! -d $BAK_DIR ];then
        mkdir -p $BAK_DIR
        echo "\033[32mThe $BAK_DIR Create Successfully!\033[0m"
else
        echo "This $BAK_DIR is exists..."
fi

#MySQL BACKUP COMMAND
$MySQLCMD -u$MySQLUSR -p$MySQLPW -d $MySQLDB >$BAK_DIR/$MySQLDB.sql


if [ $? -eq 0 ];then
        echo -e "\033[32mThe MySQL Backup $MySQLDB Successfully!\033[0m"
else
        echo -e "\033[32mThe MySQL Backup $MySQLDB Failed,Please check!\033[0m"
fi

检查脚本文件是否正常

sh -n auto_backup_mysql.sh

令脚本每天0点运行

crontab -e

在里面编辑内容如下

0   0 * * * /bin/bash /data/shell/auto_backup_mysql.sh >>/tmp/mysql_bak.log 2>&1

这里解释一下上一段代码中每个星号的意思

*  *  *  *  * /bin/bash /data/shell/auto_backup_mysql.sh
分 时 周 日  月
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值