如何实现 Linux 定时备份任务的执行状态实时自动告警

冷炫風刃

冷炫風刃

2026-07-06

1013人浏览

原创

要实现linux定时备份任务的实时自动告警,需构建“脚本输出结构化状态→prometheus抓取→分级告警→grafana可视化”闭环:脚本末尾写入exit_code、success_timestamp、size_bytes至textfile;prometheus采集并定义紧急/排查/失联三级告警规则;grafana展示状态趋势、尺寸水位和摘要卡片。

如何实现 linux 定时备份任务的执行状态实时自动告警

要实现 Linux 定时备份任务的执行状态实时自动告警,核心不是等出问题再通知,而是把每次备份变成一个“可测量、可判断、可触发”的信号事件。关键在于打通脚本执行 → 状态采集 → 异常识别 → 告警推送这一闭环,避免依赖人工查日志或定时轮询。

让备份脚本主动输出结构化状态

备份脚本不能只管打包,还要在结束时留下明确的“健康凭证”。在脚本末尾添加三类指标写入(推荐写入 /var/lib/prometheus/textfile_collector/backup.prom):

  • 退出码:用 $? 判断是否成功,写为 mysql_backup_last_exit_code 0(成功)或 1/2(失败)
  • 时间戳:用 date +%s 记录最后成功时间,写为 mysql_backup_last_success_timestamp 1749998400
  • 文件大小:用 stat -c%s /backup/db_$(date -d 'yesterday' +\%Y\%m\%d).sql 2>/dev/null || echo 0 获取字节数,写为 mysql_backup_last_size_bytes 12567890

确保该文件对 prometheus 用户可读,且每执行一次就覆盖更新 —— 这是后续所有监控和告警的数据源头。

用 Prometheus 抓取并识别异常模式

prometheus.yml 中启用 textfile collector,并配置 job 抓取上述文件:

Qt Creator Linux版
Qt Creator Linux版

Qt Creator 20.0.1 Linux x86_64 安装程序,适合在 Linux 桌面环境中搭建 Qt/C++ 开发、编译、运行和调试工作流。

下载
  • 确认 scrape_configs 包含 job_name: 'backup-status'static_configs 指向 textfile 目录
  • 访问 :9090/targets 验证 job 状态为 UP,否则检查路径权限或 Prometheus 日志
  • 在 Prometheus 表达式浏览器中测试:mysql_backup_last_exit_code 是否有最新值;time() - mysql_backup_last_success_timestamp > 86400 是否为 true(超24小时未成功)

按业务影响分级定义告警规则

不要只写“不为0就告警”,而应结合 exit code 含义与业务容忍度设置不同响应级别:

  • 紧急级:exit_code == 2(连接拒绝)或 == 11(I/O 错误),for: 30s,立即推送到钉钉/企微 oncall 群
  • 排查级:exit_code == 3(权限不足)或 == 4(参数错误),for: 2m,仅邮件通知 DBA,并在告警注释中预置诊断命令如 ls -l /backup/sudo -u prometheus cat /var/lib/prometheus/textfile_collector/backup.prom
  • 失联级:连续 2 天无成功时间戳 文件大小为 0,触发自动创建 Jira 工单 + @ 主管

用 Grafana 构建一眼可知的实时看板

在 Grafana 中接入 Prometheus 数据源,搭建三类核心面板:

  • 状态趋势图:以 mysql_backup_last_exit_code 为指标,用不同颜色区分 0(绿色)、非0(红色),X轴为时间,直观看出失败发生时刻
  • 尺寸水位图:用 mysql_backup_last_size_bytes 绘制折线,叠加 10MB/100MB 警戒线,防止备份空包或膨胀失控
  • 摘要卡片:显示“最近一次成功时间”、“距今小时数”、“当前文件大小”三项关键字段,顶部加红绿灯状态指示器

这样,运维人员打开看板就能秒懂备份是否可信、是否滞后、是否异常,无需翻日志、不靠经验猜。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

2693

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

1671

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

1319

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

2674

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

2442

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

1660

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

1255

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1424

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

210

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 128人学习