linux服务脚本控制定时生成数据库备份包

一、创建backup_mysql.sh文件,生成数据库备份文件的脚本
1、backup_dir:备份文件目录
2、backup_file:备份文件的文件名生成规则

#!/bin/bash  
  
# 设置备份目录和文件名  
backup_dir="/home/backup/directory"  
backup_file="$backup_dir/db_backup_$(date +%Y%m%d_%H%M%S).sql.gz"  
  
# MySQL数据库信息  
mysql_user="用户名"  
mysql_password="密码"  
mysql_host="localhost"  
mysql_database="库名"  

# 要排除的表名列表,以空格分隔  
exclude_tables="sys_log sys_login_log"

# 创建备份目录  
mkdir -p $backup_dir  
  
# 使用mysqldump命令备份数据库,并压缩输出  
mysqldump -h $mysql_host -u $mysql_user -p$mysql_password --ignore-table=$mysql_database.sys_log --ignore-table=$mysql_database.sys_login_log $mysql_database | gzip > $backup_file  
  
# 检查备份是否成功  
if [ $? -eq 0 ]; then  
    echo "MySQL数据库备份成功!"  
else  
    echo "MySQL数据库备份失败!"  
fi

创建完脚本,需给脚本设置权限。使用chmod +x backup_mysql.sh

二、创建执行脚本的定时任务
完整设置如下

1、打开定时任务

crontab -e

2、创建定时任务执行脚本,使用cron表达式
我这里设置的是每天凌晨1点取执行backup_mysql.sh脚本,生成数据库备份文件

0 1 * * * /home/backup/backup_mysql.sh > /dev/null 2>&1

3、创建定时任务,使用cron表达式
我这里设置的是每天上午11点,删除3天前的备份文件,只保留最近3天的备份

0 11 * * * find /home/backup/directory/ -mtime +3 -name "db_backup*" -exec rm -rf {} \;
上一篇:flask服务通过gunicorn启动


下一篇:springboot075电影评论网站系统设计与实现(论文+源码)_kaic-4系统概要设计