创建编辑脚本文件
mkdir -p /data/scripts
cd /data/scripts
vim mysql_backup.sh
文件内容:
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: mysql_backup.sh
# Describe: Used for database backup
# Revision: 1.0
# Date: 2020/08/11
# Author: lcy
# 设置mysql的登录用户名和密码(根据实际情况填写)
mysql_user="root"
mysql_password="123456"
mysql_host="localhost"
mysql_port="3306"
backup_dir=/data/mysql_backup
dt=$(date '+%Y%m%d_%H%M')
echo "Backup Begin Date:" $(date +"%Y-%m-%d %H:%M:%S")
# 备份全部数据库
mysqldump -h$mysql_host -u$mysql_user -p$mysql_password -R -E --all-databases --single-transaction > $backup_dir/mysql_backup_$dt.sql
find $backup_dir -mtime +7 -type f -name '*.sql' -exec rm -rf {} \;
echo "Backup Succeed Date:" $(date +"%Y-%m-%d %H:%M:%S")
赋予执行权限
chmod +x mysql_backup.sh
执行脚本
./mysql_backup.sh
加入任务计划
查看任务计划
crontab -l
新增任务计划
crontab -e
00 00 * * * /bin/bash /data/scripts/mysql_backup.sh
每天凌晨0点进行备份
有待改进的点
①、进行备份之前,需要判断一下备份目录是否已经创建,若没有创建,则需要在脚本中编写代码,创建备份目录
②、如果备份文件比较大,可以对备份文件进行压缩
③、没有记录日志
④、没有进行异地备份,即没有将备份文件FTP上传到别的地方进行保存,