(0)备份目标
备份:tel数据库
目录:/mysqlbackup/
策略:每天3点
(1)创建一个备份用户,用户名未backup 密码backup
mysql>grant all on tel. to 'backup'@'localhost' identified by "backup";
提供更小的权限:
mysql>grant select,show view,lock tables,trigger on tel. to 'backup'@'localhost' identified by "backup";
(2)编写备份脚本
shell> vim mysql_backup.sh
#!/bin/sh
###定义变量####
date=date +%Y%m%d
ago10date=date -d"10 day ago" +"%Y%m%d"
backuser=backup
db_host=localhost
backupdir=/mysqlbackup
###判断存放目录是否存在####
if [ ! -d $backupdir ]
then
mkdir -p $backupdir
fi
###判断第二级存放目录是否存在####
if [ ! -d $backupdir/$date ]
then
mkdir -p $backupdir/$date
fi
##########执行备份命令#############
/usr/bin/mysqldump -u$backuser -h $db_host -p'backup' --single-transaction tel > "$backupdir/$date/tel.sql"
##########删除10天前的备份#########
if [ -d $backupdir/$ago10date ]
then
rm -rf $backupdir/$ago10date
fi
(3)添加执行权限
shell>chmod +x mysql_backup.sh
(4)添加定时任务
shell> crontab -l
- 3 * /usr/bin/sh /mysqlbackup/mysql_backup.sh