Linux服务器制定mysql数据库备份的计划任务

首先,创建一个shell脚本:

#!/bin/bash
mysql_pwd="1234567890"
mysql_dump="/usr/local/mysql/bin/mysqldump"
cur_year=$(date +"%Y")
cur_month=$(date +"%m")
cur_day=$(date +"%d")
#dump_path="/data0/mysql_backup/$cur_year-$cur_month/$cur_day"
arr_databases=(
"db1"
"db2"
"db3"
"db4"
)

for cur_database in ${arr_databases[*]}; do
#mkdir backup path
dump_path="/data0/mysql_backup/$cur_database"
if [ ! -d "$dump_path" ]; then
mkdir -p "$dump_path"
fi
#backup database
$mysql_dump -uroot -p$mysql_pwd $cur_database | gzip > $dump_path/$cur_database-$cur_year-$cur_month-$cur_day.sql.gz
#Delete backup files 10 days ago
cd  $dump_path
rm -rf `find . -name '*.sql.gz' -mtime 20`
done

可以保存到路径:/data0/scripts/backup_database.sh

设置可执行权限
cd /data0/scripts/
chmod +x *

添加计划任务

vi /etc/crontab
添加命令:
01 1 * * * root /data0/scripts/backup_database.sh  #每天的01点01分执行
20 2 * * 0 root /data0/scripts/backup_database.sh  #每周星期天的02点20分执行
重启服务
/sbin/service crond restart
-------------本文结束感谢您的阅读-------------
请我吃辣条
0%