一、编写数据库备份脚本 backupmysql.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
backupdir=/data/mysql/dwy/mysqlbackup;
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S`
#需要备份的数据库名称
db_name=database
#mysql 用户名
db_user=root
#mysql 密码
db_pass=password
/usr/local/mysql/bin/mysqldump -u$db_user -p$db_pass $db_name|gzip>$backupdir/$db_name$time.sql.gz
#删除7天前备份文件
find $backupdir -name "$backupdir_*.sql.gz" -type f -mtime +7 -exec rm -rf {} \; > /dev/ null 2>&1
|
二、给与脚本授权
1 |
chmod +x backupmysql.sh
|
三、编写定时执行备份任务
1 2 3 4 5 |
# 输入如下命令:
crontab -e
# 在页面中编写如下内容:
00 03 * * * /root/backupmysql.sh
|
四、可实现效果
可实现每天凌晨三点自动执行编写的脚本,备份MySQL数据库到 /data/mysql/dwy/mysqlbackup 下,且只保留最近7天的数据库备份。