一,编辑备份脚本
vim mysql-backup.sh
内容如下
#!/bin/sh
USERNAME="root" #数据库用户名
PASSWORD="123456" #数据库密码
DB_NAME="test_db" #备份的数据库
TABLE_NAME_ARR=("users" "config_info") #备份的表多个表用空格分开
BIN_DIR="/usr/local/mysql-5.7.31/bin" #mysqldump所在的bin目录
BAK_DIR="/home/backup/mysql" #备份文件保存地址
#循环TABLE_NAME_ARR数组 取得表名
for tableName in ${TABLE_NAME_ARR[@]}
do
#备份文件的日期目录
path="$BAK_DIR/$(date +%Y%m%d)"
#判断是否存在并创建目录
if [ -d "$path"];then
echo "$path is exists"
else
mkdir -p $path
fi
#执行备份
$BIN_DIR/mysqldump -u $USERNAME -p$PASSWORD $DB_NAME $tableName > $path/$tableName.bak.sql
done;
二,添加定时任务
crontab -e
内容如下
#* * * * *
#- - - - -
#| | | | |
#| | | | +----- 星期中星期几 (0 - 7) (星期天 为0)
#| | | +---------- 月份 (1 - 12)
#| | +--------------- 一个月中的第几天 (1 - 31)
#| +-------------------- 小时 (0 - 23)
#+------------------------- 分钟 (0 - 59)
00 01 * * * /home/mysql-backup.sh