首页 / 编程开发 / linux下mysql自动备份脚本,自动清除旧文件防止磁盘满

linux下mysql自动备份脚本,自动清除旧文件防止磁盘满

2023-11-08 09:48:39编程开发 阅读 317

linux环境下的mysql自动备份数据库的shell脚本,默认在运行时自动清理30天前的旧文件,防止一直备份导致磁盘爆满。

加脚本代码保存为一个文件,比如 autoback.sh之后,加入到linux的自动任务里定时执行就能够实现每天定时进行数据库备份了。自动备份完成的文件以“日期时间+数据库名称”做命名。

脚本代码如下:

#!/bin/bash
# MySQL数据库的用户名和密码
DB_USER="user1"
DB_PASS="pwd!"

# 要备份的数据库名称数组
DB_NAMES=("db1" "db2")

# 备份文件存放路径
BACKUP_DIR="/backup/file/"

# 获取当前日期和时间
DATETIME=$(date +%Y-%m-%d-%H-%M-%S)

for DB_NAME in "${DB_NAMES[@]}"
do
  # 拼接备份文件名
  BACKUP_FILE="$BACKUP_DIR$DATETIME-$DB_NAME.sql"
  # 使用mysqldump备份数据库
  mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE
  # 打印备份完成信息
  echo "Backup completed: $BACKUP_FILE"
done

#删除30天前的备份文件
find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -delete
echo "Old backup files cleaned up"
自动任务写法如下,每天凌晨1点执行自动备份
0 1 * * * sh /backup/auto_back.sh

需要注意Mysqldump备份的方式,在备份期间会锁表而影响数据库访问,也可能产生大量IO,应选在凌晨执行减少影响。

如果数据库过大,比如百万千万的记录,会导致备份时间很长,面导致影响时间也变长。

这个情况下,建议做一主多从架构,在没有访问的从数据库下进行备份。


本文《linux下mysql自动备份脚本,自动清除旧文件防止磁盘满》由爱思考吧 isres.com 分享,转载请注明出处。本文网址:https://www.isres.com/php/154.html

本站主要收集测评能够节省时间和提升效率的软件工具并分享使用与学习的过程和感受,任何情况下用户都需遵守所使用软件资源的相关协议。与《linux下mysql自动备份脚本,自动清除旧文件防止磁盘满》有关的本站文章及资源仅供个人学习交流使用,相关资源请下载后24小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。

相关推荐

猜你喜欢

  • 解决linux rm和软件界面都无法删除的乱码文件名的文件

    解决linux rm和软件界面都无法删除的乱码文件名的文件

    有些看似乱码文件,加一对单引号就能删除。但有些真乱码文件,怎么也删除不掉,用sftp工具连接能看到也删除不掉。 rm: 无法删除"?q???d??": 没有那个文件或目录 这里有一个非常有效果的解决...

    2023-06-04 12:31:08 430
  • 改版了,换上了自己写程序

    给网站换上了自己开发的PHP代码,想深度定制网站的功能, 原来的typecho熟悉程度不够不想改,wordpress调研了几天也觉得不合适自己之后的深度定制。 评论功能移除了,依靠chatGPT编程...

    2007-04-21 18:23:20 453
  • 用python读取stable diffusion生成的png图片的参数信息

    之前使用stable diffusion生成图片之后,如果要再看绘画参数,需要打开stable diffusion的webui来看图片的参数。 对于其它没安装环境的电脑颇为麻烦。 当然如果要脚本化保...

    2023-06-01 23:05:13 927
  • PHP导入带图片的word文档转成html并本地化图片

    服务器安装必要的依赖 yum install libreoffice yum install libreoffice-headless 如果出现异常,在页面上不一定表现出来,而是页面卡着一直没响应,...

    2023-04-25 11:51:22 304
  • 用20行Python代码实现实时获取鼠标屏幕坐标

    用20行Python代码实现实时获取鼠标屏幕坐标

    代码保存为一个py文件,比如xxx.py,再运行这个py文件。 鼠标就会出现一个浮窗跟随,实时显示当前鼠标坐标。 需要先pip install pyautogui import pyautogui ...

    2023-05-08 10:15:24 1282
  • Mysql对字段内容提取首字母

    在一个需求场景中,要实现对标签和专题首字母的索引.在网页上展示A-Z,那么就需要对标题提取首字母。 创建mysql函数 CREATE FUNCTION `fristPinyin`(P_NAME VAR...

    2017-05-21 14:29:24 3307
  • python把\u开头编码转汉字

    #!/usr/python str = '\u6211' print(str.encode('utf-8').decode('unicode_escape'))

    2023-04-25 11:50:41 399
  • 简单版方法二,python读取stable diffusion生成png图片的参数提示词

    简单版方法二,python读取stable diffusion生成png图片的参数提示词

    再一次被之前 基于 pyexiftool 方法读取stable diffusion生成png图片会存在gbk编码导致的问题坑到之后,决定寻找替代的解决方案,并成功使用更简单的方法提取到了table ...

    2023-08-18 18:25:12 434