前言
在数据库实际使用过程中,为保证数据的安全,经常需要备份数据,此处提供使用shell脚本配合linux定时任务备份MySQL数据的方案。
shell备份脚本
mysql_backup.sh
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: mysql_backup.sh
# Describe: Used for database backup
# Revision: 1.0
# Author: wang
# 设置mysql的登录用户名和密码(根据实际情况填写)
mysql_user="root"
mysql_password="123456"
mysql_host="localhost"
mysql_port="3306"
backup_dir=/home/njdc/store/backups-sql
dbname="test"
dt=`date '+%Y%m%d_%H_%M'`
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")
# 备份数据库
/home/njdc/apps/mysql/bin/mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password --socket=/home/njdc/apps/mysql/mysql.sock --single-transaction $dbname> $backup_dir/mysql_backup_$dt.sql
# 删除修改时间大于7天的文件
find $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")
定时任务
- linux查看定时任务
crontab -l
- 编辑定时任务
crontab -e
每天凌晨一点备份,如:
0 1 * * * sh /home/njdc/store/mysql_backup.sh > /home/njdc/store/backups-sql/mysql_backup.log 2>&1