新闻中心
Linux 写一个自动备份数据库的脚本
首先创建Shell脚本配置数据库备份参数,然后设置执行权限并测试备份功能,接着通过cron定时任务实现每日自动备份,最后建议使用.my.cnf加密存储密码以提升安全性。

数据库自动备份是运维中非常基础且重要的任务。下面是一个使用 Shell 编写的 Linux 脚本,用于自动备份 MySQL/MariaDB 数据库,并按日期命名备份文件,同时支持清理过期备份。
1. 创建备份脚本
将以下内容保存为 /backup/db_backup.sh(可自定义路径):
!/bin/bash
# 配置项 DB_USER="root" DB_PASS="your_password" # 建议使用 mysql_config_editor 加密存储密码 DB_NAME="your_database_name" # 指定要备份的数据库名,多个库可用空格分隔 BACKUPDIR="/backup/db" # 备份文件存储目录 DATE=$(date +"%Y%m%d%H%M%S") EXPIRE_DAYS=7 # 自动删除超过 N 天的备份
# 创建备份目录(如果不存在) mkdir -p $BACKUP_DIR
# 生成备份文件名 BACKUP_FILE="$BACKUP_DIR/${DB_NAME}backup$DATE.sql.gz"
# 执行备份并压缩 mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_FILE
# 检查备份是否成功 if [ $? -eq 0 ]; then echo "✅ 数据库 '$DB_NAME' 备份成功: $BACKUP_FILE" else echo "❌ 数据库 '$DB_NAME' 备份失败" exit 1 fi
# 删除过期的备份文件 find $BACKUP_DIR -name "${DB_NAME}backup*.sql.gz" -mtime +$EXPIRE_DAYS -delete echo "? 已清理 ${EXPIRE_DAYS} 天前的旧备份"
2. 设置权限与测试
赋予脚本执行权限:
chmod +x /backup/db_backup.sh手动运行测试:
/backup/db_backup.sh
确认在 /backup/db 目录下生成了类似 your_database_name_backup_20250405_103000.sql.gz 的压缩文件。
3. 配置定时任务(cron)
编辑 root 用户的 crontab:
NT80 购物系统
功能说明:1 会员可申请开店功能2 购买在线扣除金额3 冲值卡自动生成4 支持2级分类5 数据库压缩和备份6 会员分5个级别7 商品带讨论8 自带融合论坛,可关闭打开9 密码找回功能10 新闻``滚动新闻``帮助中心11 后台设置前台会员的上传权限12 可关闭/打开商店13 会员自助发布商品功能14 用户问题咨询管理
0
查看详情
crontab -e
添加一行,例如每天凌晨 2 点执行备份:
0 2 * * * /backup/db_backup.sh >> /backup/db_backup.log 2>&1这样每次运行日志会记录到 /backup/db_backup.log,便于排查问题。
4. 安全建议
- 不要在脚本中明文写密码:可使用
~/.my.cnf文件存储凭证 - 设置
.my.cnf权限为 600:
然后修改脚本中的 mysqldump 命令为:
mysqldump $DB_NAME | gzip > $BACKUP_FILE更安全且简洁。
基本上就这些。脚本简单可靠,适合中小项目使用。
以上就是Linux 写一个自动备份数据库的脚本的详细内容,更多请关注其它相关文章!
# linux
# 宝鸡微信营销推广
# 意面营销推广方案怎么写
# 雅安网站推广性价比高
# 体育网站什么优化
# 怎么做市场营销和推广
# 如何seo优化 卢松松
# 宴席的推广营销策略
# 濮阳外包推广招聘网站
# 不存在
# 中文网
# 相关文章
# 多个
# 成了
# 远程访问
# 是一个
# 备份文件
# 购物系统
# 自动备份
# 2025
# shell脚本
# 数据库备份
# word
# mysql
# 微博推广营销方法
# 海曙网站建设哪家好
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
在FastAPI中利用lifespan与依赖注入高效管理Redis连接池
Composer中的^和~符号代表什么_精通Composer版本号语义化约束
Tabulator表格中精确实现日期时间排序的指南
打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】
C#使用XPath查询节点时出错? 常见语法错误与调试技巧
J*aScript中赋值与自增运算符的复杂交互与执行机制
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
Angular中单选按钮的正确使用与常见陷阱解析
J*aScript中向JSON对象添加新属性的正确姿势
顺丰快递查询系统 官方正版查询入口
实现分段式页面滚动导航:CSS与J*aScript教程
c++如何实现单例设计模式_c++线程安全的单例模式写法
狙击外星人小游戏开始_狙击外星人小游戏立即开始
uc手机浏览器网页版入口 uc浏览器手机版便捷登录首页
c++ 命名空间怎么用 c++ namespace使用指南
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践
顺丰国际快递查询 国际件官方查询入口
高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】
b站怎么取消点赞_b站点赞取消操作方法
C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图
Win11网速慢怎么解决 Win11网络设置优化解除限速
“在文档元素之后找到了标记”是什么错误? 检查并修复XML中多个根元素的3个方法
sublime怎么设置启动时打开的窗口_sublime会话管理与热退出
win11专注助手在哪 Win11免打扰模式设置与自动化规则【指南】
微信语音通话掉线如何解决 微信语音通话稳定优化方法
高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法
PHP中获取MongoDB服务器运行时间(Uptime)的专业指南
荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】
如何将HTML表格多行数据保存到Google Sheet
在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析
MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令
163邮箱登录密码 163邮箱忘记密码找回
荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程
58动漫网在线官方网 58动漫网正版动漫入口网址
PHP表单数据传递:如何通过隐藏输入字段获取动态ID
J*a里如何实现订单支付与库存同步功能_支付库存同步项目开发方法说明
生成rdflib自定义SPARQL函数:参数匹配与实践指南
Composer的 "conflict" 字段有什么用_如何声明不兼容的包以避免依赖冲突
谷歌学术网站直达地址 谷歌学术搜索网页版一键进入
TypeScript/J*aScript:高效查找数组中首个唯一ID对象
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
谷歌浏览器如何快速清除某个网站的数据_Chrome网站缓存清理方法
“音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!
优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践
steam官方入口大全 steam账号注册及操作指南
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台


2025-12-04
浏览次数:次
返回列表