chuanlbx
发布于 2026-08-06 / 0 阅读
0
0

第5课:让Hermes自动工作——定时任务(Cron)

第6关·Hermes Agent智能体实战

第5节:让Hermes自动工作——定时任务(Cron)

![配图](/uploads/images/course/239.jpg)

---

一、学习目标(这节课学完你能做什么?)

1. 理解定时任务是什么——知道它到底能帮你省多少事

2. 能创建第一个定时任务——亲手给自己的Hermes排个班

3. 会设置Cron表达式——那个看起来像天书的五个数字,其实超简单

4. 能用定时任务实现自动推送——到点了,它自己发,不用你管

---

二、开场引入:为啥要学这个?

各位老板、各位会员朋友,大家好!欢迎来到第6关第5课。

今天这课之前,先讲个故事。

王老板的\"三天打鱼\"

我们协会有个会员,王老板,在文山开了一家土特产店,专卖三七、石斛这些。他在群里说:\"我每天早上都在客户群里发早安问候,效果特别好,客户都说暖心。\"

我说:\"那坚持了多久了?\"

他说:\"嗯……三天。\"

第三天就没坚持住了。原因很简单——第一天还记得,第二天定了闹钟,第三天闹钟响了正忙着发货,心想\"等会儿再发\",然后就没有然后了。第四天想起来了,觉得\"断了一天了,重新开始吧\"——然后又坚持了两天,又断了。

各位,你们有没有过这种经历?不只是发早安,还有——

  • "我要每天早上整理昨天的数据"——搞了三天放弃了
  • "我要每周一在群里发行业动态"——发了两周就忘了
  • "我要每天检查网站有没有问题"——根本没时间看
  • 不是你不勤快,是这种事真的不该人来做。

    人就会忘,人就会忙,人就会被其他的事情打断。这是人性,不是你的问题。

    但机器不会忘。机器到了点,它就干活。你过年它干活,你睡觉它干活,你出去旅游它干活。一天不落,一年不落。

    这就是定时任务的意义——把那些\"应该每天做但总是忘记做\"的事情,交给机器去做。

    你说那我能设个手机闹钟提醒自己呀。但闹钟只能提醒你,不能替你干活。闹钟响了,你还得编辑文字、复制粘贴、找到群、发出去。定时任务不一样——它闹钟都不用响,直接帮你把活干了。

    ---

    #### 我们协会自己的数据——不是吹的

    好,光说理论你可能觉得我在画饼。来,我们直接上数据。这是咱们文山州互联网协会自己跑了几个月的数据,一个数字不吹:

    **AI早报:** 每天06:00自动抓取新闻→精编→推送到群里。已经稳定跑了42天,一天没断。

    **整点报时:** 每天09:00到21:00,每小时整点推一条经典金句到群里。已经跑了300多次。

    **每日话题:** 每天10:00自动出讨论话题,推送到交流群。已经跑了23天。

    **前端巡检:** 每天08:00自动检查协会网站能不能正常访问。已经跑了30天。

    **系统健康检查:** 每天07:00自动检查服务器运行状态。已经跑了29天。

    累计执行超过4000次,零故障。

    看到这些数字什么感觉?你想想,如果这些事全部要一个人来做——每天早上6点起来整理新闻、每到整点发金句、每天去检查网站……这个人一天啥也不用干了,光干这些事就够呛。而且他还会生病、会请假、会忘记。

    但Hermes干了4000多次,一次没掉链子。

    这就是定时任务的价值——**一次设置,长期自动运行。你只管当甩手掌柜,它到点干活。**

    好,有没有被说服?要是觉得这个功能你需要,那就跟着我往下走。

    ---

    三、核心讲解

    #### 1. 什么是定时任务?到点自动干活的员工

    定时任务这个词,听起来有点技术。但我换个说法你就懂了。

    定时任务 = 到点自动干活的闹钟。

    你设过闹钟吧?设好了,到点了,闹钟自己就响了,不需要你按什么按钮。定时任务也是一样——你告诉Hermes:\"每天早上8点,帮我发一条早安问候。\"Hermes记住了这个事,然后每天早上8点一到,它就自动执行这个任务。

    你什么都不用做。睡觉也行、出门也行、忙别的也行。到点了它自己就干了。

    跟手机闹钟有什么区别?

    手机闹钟只能提醒你\"该干活了\",但活还得你自己干。定时任务不一样——它不只是提醒,它直接把活干了。闹钟响了你还得爬起来发早安,定时任务你不用起来,它自己发。

    我再打个比方。

    请了个员工 vs 买了个自动化机器

    你店里的员工,你得告诉他什么时候干什么活。早上8点发早安、晚上10点关店。他可能迟到、可能忘记、可能心情不好不想发。

    但如果你买了个自动化的机器呢?你设好程序,每天早上8点它自动打印早安传单、自动派发出去。它不会迟到、不会忘记、不会闹脾气。

    定时任务就是那个自动化的机器。

    什么时候用它最合适?

    适合用定时任务的事情有三个特点:

    第一,**固定的时间重复做。** 每天、每周、每月固定时间做的事——早安问候、发周报、出报表、检查网站。

    第二,**不需要人工判断的事情。** 到点了直接干,不需要\"我看看今天状态好不好再决定要不要发\"。

    第三,**你不做也没关系,但做了效果很好。** 早安问候就是这样——你每天发,客户觉得你贴心;你几天不发,人家觉得你不靠谱。但你自己又总是忘记发。

    这三个特点全中?那这件事就适合交给定时任务。

    好,概念搞清楚了。接下来我们看看怎么设置时间。

    ---

    #### 2. Cron表达式——5个位置决定什么时候干活

    好,现在到了很多人最怕的部分。

    Cron表达式,听起来像什么黑客代码一样。什么`0 8 * * *`,什么`*/10 * * * *`,看着就头疼。

    别怕,我一句话给你讲明白。

    Cron表达式就是一句话,告诉Hermes:什么时间干活。

    它长这样:

    ```

    分 时 日 月 星期

    * * * * *

    ```

    五个位置,用空格隔开。

    从左到右,分别是:**分钟、小时、日期、月份、星期几。**

    每个位置填一个数字,告诉Hermes"在这个时间点干活"。

    如果某个位置你想填"每天"或"每月"或"每周",不限定具体数字,那就写一个星号`*`。

    就这么简单。

    我们来拆开看。

    第一个位置:分钟(0-59)

    比如你填`0`,意思就是"整点的时候"——8点整、9点整、10点整。

    填`30`呢?就是"每个小时的30分"——8点半、9点半。

    填`15`就是每个小时15分。

    你发现没有?你只需要填你想要的数字就行了。

    常用的分钟值:

  • `0` —— 整点(最常用)
  • `30` —— 半点
  • `15`、`45` —— 一刻、三刻
  • 第二个位置:小时(0-23)

    这里注意了——**24小时制!24小时制!24小时制!**

    重要的事情说三遍。下午3点是`15`,不是`3`。下午5点是`17`,不是`5`。

    很多第一次用Cron的人翻车就是翻在这个地方——写了个`5`,以为下午5点发,结果早上5点就发了,群里直接炸了。

    所以记住:上午8点 → `8`,下午8点 → `20`。

    常用的小时值:

  • `8` —— 早上8点
  • `9` —— 早上9点
  • `12` —— 中午12点
  • `17` —— 下午5点
  • `21` —— 晚上9点
  • 第三个位置:日期(1-31)

    这个就是每月的第几天。

    最常用的写法就是`*`(星号),表示"每天"。

    如果你想每个月1号执行,就写`1`。每个月15号执行,就写`15`。

    第四个位置:月份(1-12)

    1月到12月。

    大部分情况写`*`就对了,表示"每个月"。

    只有一些特殊任务才用得到,比如每年12月31号发年终结——那月份就写`12`。

    第五个位置:星期(0-7)

    这个稍微有点绕——0和7都表示周日。为什么?不用管,规定就是这样。

    1=周一,2=周二,3=周三,4=周四,5=周五,6=周六。

    常用的星期值:

  • `*` —— 每一天
  • `1-5` —— 周一到周五(工作日)
  • `6,7` —— 周末
  • `1` —— 每周一
  • ---

    来,我们做几个练习:

    `0 8 * * *`

    分钟=0,小时=8,日期=*,月份=*,星期=*

    → **每天早上8点整**

    `30 6 * * *`

    分钟=30,小时=6,日期=*,月份=*,星期=*

    → **每天早上6点半**

    `0 9 * * 1`

    分钟=0,小时=9,日期=*,月份=*,星期=1

    → **每周一早上9点**

    `30 8 * * 1-5`

    分钟=30,小时=8,日期=*,月份=*,星期=1-5

    → **工作日(周一到周五)早上8点半**

    是不是没那么难?就是"分时日月星期",每个位置填数字或星号。

    ---

    再教两个偷懒的写法:

    场景一:每10分钟执行一次

    你不会写`0 0 * * *`、`10 0 * * *`、`20 0 * * *`……一个一个写吧?

    不用的。用`*/10`就行了。

    `*/10 * * * *`

    → **每10分钟执行一次**

    这个`*/10`的意思是"每隔10分钟"。`*/5`就是每5分钟,`*/30`就是每30分钟。

    场景二:9点到下午5点,每个整点都执行

    你也不用写`0 9 * * *`、`0 10 * * *`、`0 11 * * *`……一个一个写。

    用横杠连接:`0 9-17 * * *`

    → **每天早上9点到下午5点,每个整点执行一次**

    这个`9-17`就是9点到17点(下午5点)的意思。

    ---

    常用Cron表达式速查表(不用背,截图保存):

    | 场景 | 表达式 | 说明 |

    |-----|-------|------|

    | 🌅 每天8点 | `0 8 * * *` | 早上8点整 |

    | 🌤 每天6:30 | `30 6 * * *` | 早上6点半 |

    | 🏢 9点到17点整点 | `0 9-17 * * *` | 上班时间每小时 |

    | ⏱ 每10分钟 | `*/10 * * * *` | 高频检查用 |

    | 📆 每周一9点 | `0 9 * * 1` | 周一早上 |

    | 🌙 午夜0点 | `0 0 * * *` | 凌晨12点 |

    | 💼 工作日8:30 | `30 8 * * 1-5` | 周一到周五早上 |

    | ☕ 每两小时 | `0 */2 * * *` | 每两小时整点 |

    记住一句话就行:不用背,用的时候打开这节课查一下。

    ---

    #### 3. 创建定时任务的步骤——动手来一个

    好,理论讲完了。现在咱们来真的,动手建一个定时任务。

    我们以"每日早安推送"为例——每天早上8点,自动在你的客户群里发一条早安问候。

    第一步:输入命令

    打开你的Hermes对话框(微信),输入:

    ```

    /cron create

    ```

    注意格式:斜杠`/` → 单词`cron` → 空格 → 单词`create`。

    输入之后,Hermes会像向导一样,一步步引导你填写信息。

    第二步:填任务名称

    Hermes会问:任务叫什么名字?

    取名的原则:**一看就知道是干嘛的。**

    ❌ 不要写"任务1"、"早上那个"——过两天你自己都忘了是干啥的。

    ✅ 要写"每日早安问候"、"网站巡检-每日"、"行业动态-每周一"——看名字就知道是什么任务。

    所以这里填:`每日早安问候`

    第三步:设时间(Cron表达式)

    Hermes会问:什么时间执行?

    这里就用到我们刚学的Cron表达式了。每天早上8点,那就是:

    ```

    0 8 * * *

    ```

    注意:数字之间用**空格**隔开,不要用逗号。

    第四步:写任务内容

    这是最关键的一步。Hermes会问:到点了要干什么?

    你得把任务描述清楚,就像布置工作一样。描述越具体,结果越靠谱。

    ❌ 模糊写法:"发早安"——怎么发?发什么内容?什么风格?发到哪里?"

    ✅ 清晰写法:

    ```

    请生成一段早安问候消息,内容包括:

    1. 今天的日期

    2. 今天的天气情况

    3. 一句正能量短句

    4. 祝大家今天工作顺利

    语气温暖亲切,100字以内,适合在微信群推送。

    ```

    你描述得越清楚,它执行得越好。这个时间值得花——写一次,以后每天自动执行,一劳永逸。

    第五步:设推送方式

    Hermes会问:推送到哪里?

    你选一个目标:

  • 推送到某个微信群
  • 推送给某个联系人
  • 推送到指定的频道
  • **注意!** 选对群!别把早安问候发到客户投诉群里去了。之前有朋友就是手滑选错了群,早安问候发到了才进群的新客户群里——新客户莫名其妙收到一条"早安,祝大家今天工作顺利",还以为是群主在跟谁说话。倒也没出大问题,就是有点尴尬。

    第六步:确认创建

    Hermes会把任务信息汇总给你看一遍:

    ```

    📋 即将创建定时任务:

    名称:每日早安问候

    时间:0 8 * * *(每天08:00)

    内容:生成早安问候,含日期、天气、正能量短句

    推送:XX客户群

    ```

    检查没问题,确认创建。

    恭喜你!你的第一个定时任务就建好了!

    ---

    举个例子:我建一个"每周行业动态"

    除了早安问候,另一个最常用的场景是行业动态。

    很多老板说:\"我想每周一早上看看这周行业有什么新动态,但我哪有时间搜啊?\"

    好办,交给Hermes。

    ```

    /cron create

    名称:每周行业动态

    时间:0 9 * * 1(每周一早上9点)

    内容:整理本周行业重要动态,包括:

    1. 行业重要新闻3-5条

    2. 政策变化提醒

    3. 市场趋势分析

    字数控制在200字以内,条理清晰。

    推送:发给我自己(联系人)

    ```

    建好之后,每周一早上9点,你正在上班路上,手机"叮"一声——行业动态就推送过来了。你边开车边听语音播放,到公司时心里已经有数了。

    ---

    #### 4. 管理定时任务——查看、暂停、恢复、删除

    任务建好了,怎么管?

    Hermes提供了几个管理命令,非常简单。

    查看所有任务:`/cron list`

    输入这个命令,你会看到类似这样的信息:

    ```

    📋 定时任务列表(共2个):

    ────────────────

    🆔 1 | 📛 每日早安问候

    ⏰ 0 8 * * * | ✅ 运行中

    📅 创建时间:2026-05-20

    🆔 2 | 📛 每周行业动态

    ⏰ 0 9 * * 1 | ✅ 运行中

    📅 创建时间:2026-05-22

    ────────────────

    ```

    每个任务都有个ID(编号),后面管理的时候要用到这个ID。比如第一个任务的ID是1,第二个是2。

    暂停任务:`/cron pause [任务ID]`

    比如过年放假了,你不想每天早上8点还发早安,想暂停几天。那就输入:

    ```

    /cron pause 1

    ```

    这个任务就暂停了。到点了它不会执行。

    暂停不等于删除。任务还在,只是暂时不干活了。

    恢复任务:`/cron resume [任务ID]`

    过完年回来了,想让它继续干活。输入:

    ```

    /cron resume 1

    ```

    任务恢复正常,明天早上8点继续发早安。

    删除任务:`/cron delete [任务ID]`

    如果这个任务以后再也不需要了,可以彻底删除。

    ```

    /cron delete 1

    ```

    **注意!** 删除后不能恢复!所以不确定的任务,先暂停,别删。

    查看执行记录:`/cron log [任务ID]`

    想知道这个任务执行得怎么样?有没有按时干活?输入:

    ```

    /cron log 1

    ```

    你会看到类似这样的执行记录:

    ```

    📋 任务执行日志 - 每日早安问候(ID: 1)

    ────────────────

    2026-06-01 08:00:00 ✅ 执行成功

    2026-05-31 08:00:00 ✅ 执行成功

    2026-05-30 08:00:00 ✅ 执行成功

    2026-05-29 08:00:00 ✅ 执行成功

    ...

    ────────────────

    5次执行,全部成功 ✅

    ```

    就像员工的打卡记录一样,清清楚楚。如果哪天任务没执行,一看日志就知道。

    ---

    五个管理命令汇总:

    | 命令 | 作用 | 什么时候用 |

    |-----|------|-----------|

    | `/cron list` | 查看所有定时任务 | 想看看自己建了哪些任务 |

    | `/cron pause [ID]` | 暂停某个任务 | 临时不想让它执行 |

    | `/cron resume [ID]` | 恢复暂停的任务 | 想让任务继续执行 |

    | `/cron delete [ID]` | 永久删除任务 | 彻底不需要这个任务了 |

    | `/cron log [ID]` | 查看执行记录 | 检查任务是否正常执行 |

    ---

    #### 5. 常见问题——碰到问题怎么办?

    问题1:到点了啥都没收到?

    别急,三步排查法:

    第一步,检查Cron表达式是不是写对了。90%的问题出在这里。最常见的错误:把下午5点写成了`5`(应该是`17`),结果早上5点就执行了。再检查一下分钟和小时的位置是不是搞反了——`8 0 * * *`(早上0点8分)和`0 8 * * *`(早上8点整)完全不是一回事。

    第二步,检查任务是不是处于"运行中"状态。用`/cron list`看一下,如果显示的是"已暂停",那就是之前不小心暂停了。用`/cron resume [任务ID]`恢复就行。

    第三步,看看执行日志。用`/cron log [任务ID]`查看执行记录,看看它到底执行了没有,有没有报错信息。日志是最好的"监控器"。

    问题2:建好的任务想改时间或内容,怎么办?

    目前Hermes不支持直接修改已创建的任务。

    正确做法:**暂停 → 删除 → 重新创建。**

    ```

    /cron pause 1 → 先暂停

    /cron delete 1 → 删除旧的

    /cron create → 重新创建(这次填新的时间和内容)

    ```

    是有点麻烦,但也就是多花一两分钟的事。比起每天手动干活,这点麻烦不值一提。

    问题3:建了好几个任务,想批量管理?

    目前只能一个一个操作。但你可以用`/cron list`一次查看所有任务的运行状态,然后决定哪些需要暂停、哪些需要恢复。

    问题4:任务建好了,能不能提前测试一下?

    目前没有"立即执行一次"的功能。但你可以手动在对话框里让Hermes干一次同样的活,看看产出的效果满不满意。效果满意再建定时任务。

    ---

    四、具体任务

    好了,今天的内容就讲完了。按照前面几课的老规矩,咱们得动手操作。

    请完成以下任务:

    任务1:建一个每天早上8点的早安推送

  • 名称:每日早安问候
  • Cron时间:`0 8 * * *`
  • 内容:包含日期、天气、正能量短句
  • 推送:发到你的测试群或发给自己
  • 任务2:建一个每周一早上9点的行业动态整理

  • 名称:每周行业动态
  • Cron时间:`0 9 * * 1`
  • 内容:本周行业新闻、政策变化、市场趋势
  • 推送:发给自己或发到工作群
  • 任务3:用`/cron list`查看你建的所有任务

    看看列表里是不是显示两个任务,状态都是"运行中"。

    任务4:暂停一个任务,检查列表状态,再恢复

    比如先暂停早安任务:`/cron pause 1`

    再用`/cron list`看看状态是不是变成"已暂停"了

    然后恢复:`/cron resume 1`

    再看看是不是又变回"运行中"了

    这四个任务做完,你对定时任务的理解就完全到位了。

    ---

    五、本课小结

    好,这节课的内容就到这里。

    来回顾一下你学会了什么。

    第一,你理解了什么是定时任务。

    就是到点自动干活的闹钟。你设好时间,它到点执行。你睡觉它干活,你忙它干活,你出去玩它还是干活。适合那些固定时间重复做、不需要人工判断、不做也行但做了效果更好的事情。

    第二,你学会了Cron表达式。

    五个位置:分、时、日、月、星期。每个位置填数字或星号。星号表示"每一天/每月/每周"。常用组合用速查表,不用背。记住24小时制——下午5点是17,不是5!

    第三,你亲手创建了定时任务。

    从`/cron create`开始,填名称、设时间、写内容、选推送、确认创建。你自己建了一个早安问候、一个行业动态。从明天开始,它们就会准时自动执行。

    第四,你学会了管理定时任务的五个命令。

    查看(list)、暂停(pause)、恢复(resume)、删除(delete)、查看日志(log)。

    ---

    送大家一句话:

    > **定时任务是Hermes最实用的功能之一。设好了,它自动干,你只管睡觉。**

    你想想,明天早上8点,你还在睡梦中,你的Hermes已经准时在客户群里发了早安问候。客户们看到消息心想:"这个老板真用心,每天都发早安。"而你呢?还在被窝里。

    这就是科技的魅力——**帮你干活,还不让你知道它在干活。**

    下课!

    下节课预告:**多工具协作——让Hermes变成全能助理。** 一堂课教会你,怎么让Hermes同时调用搜索、浏览器、文件、图片等多个工具,完成完整的工作流。比如:帮你搜行业资料→打开链接阅读→整理成报告→保存文件。一条龙搞定。

    我们下节课见!

    ---

    *文山州互联网协会AI学习平台 · 第6关·Hermes Agent智能体实战 · 第5课*


    评论