备份mysql数据库

创建脚本

1
touch /usr/local/bin/backup-mysql.sh

编辑脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#数据库用户名
db_user="username"
#数据库密码
db_passwd="password"
#备份的库
table1="table1"
table2="table2"
#备份到的目录
backup_dir="/usr/local/backup/mysqlbackup"
#日期格式
time="$(date +"%Y-%m-%d %H:%M:%S")"

#备份
mysqldump -u$db_user -p$db_passwd $table1 > "$backup_dir/$table1"_"$time.sql"
mysqldump -u$db_user -p$db_passwd $table2 > "$backup_dir/$table2"_"$time.sql"

#删除备份
#查找备份目录中创建日期大于30天的文件并删除
find $backup_dir -name "*.sql" -mtime +30 -exec rm -rf {} \;

设置脚本可执行

1
chmod +x /usr/local/bin/backup-mysql.sh

添加到定时任务,每天0点执行

1
crontab -e

添加定时逻辑

1
0 0 * * * /usr/local/bin/backup-mysql.sh

重新加载定时任务

1
service crond reload