mysql如何利用cron定时备份_mysql自动化配置说明

MySQL备份脚本需用--defaults-extra-file指定配置文件并设chmod 600权限,cron中须用绝对路径调用命令、显式声明PATH、重定向标准错误,备份文件名含时间戳,用find轮转保留7天,存储目录须独立且可写,并定期验证可恢复性。MySQL 备份脚本必须显式指定 --defaults-extra-file 或避免密码明文直接在 mysqldump 命令里写 -p'password' 会导致 cron 执行失败,因为 cron 环境不读取交互式 shell 的别名、函数或某些环境变量,且密码明文还存在安全风险。更稳妥的方式是使用配置文件:创建仅限当前用户可读的配置文件,例如 /home/user/.mybackup.cnf内容为:clientuser = backup_userpassword = your_strong_passwordhost = localhost执行备份时加参数:mysqldump --defaults-extra-file=/home/user/.mybackup.cnf --single-transaction --routines --triggers db_name > backup.sql务必运行 chmod 600 /home/user/.mybackup.cnf,否则 mysqldump 会拒绝读取cron 时间表达式要匹配实际执行权限和路径很多备份脚本在终端能跑,但加进 crontab 就静默失败,根本原因是 cron 使用最小化环境:没有 $PATH,不加载 ~/.bashrc,找不到 mysqldump 或 gzip。用绝对路径调用命令,比如 /usr/bin/mysqldump 和 /bin/gzip(可用 which mysqldump 确认)在 crontab 条目开头显式声明 PATH,例如:PATH=/usr/local/bin:/usr/bin:/bin测试 cron 环境:临时加一行 * * * * * env > /tmp/cron_env.txt,查看实际可用变量日志重定向不能只写 > /path/to/log,要补全错误流:> /var/log/backup.log 2>&1备份文件名必须含时间戳,且保留多份需手动轮转不带时间戳的备份文件会被覆盖,而 cron 本身不提供文件轮转能力。靠命名 + 简单 find 删除是最轻量可控的做法。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
神一样的老师几秒前
WS63 访问 HTTPS 握手失败(-0x7780)根治
数据库·网络协议·https
泡海椒6 分钟前
JQuick-Excel 实战:用 STYLE 配置单元格与区域样式
开发语言·python·excel
威联通网络存储12 分钟前
TS-h1283XU-RP 在医药批记录与检验场景的部署
网络·python
Patrick在香港21 分钟前
时间戳凭空早了 8 小时:datetime.utcnow() 弃用实测与漂移复盘
数据库·python·标准库·datetime·时区·弃用
东莞市云毅网络有限公司7 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
李兆龙的博客8 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
数字融合9 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0119 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
Marst Code10 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界
python
倔强的石头_10 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库