cron表达式每分钟

运行cron表达式每分钟是一些最常用的Cron任务,当前cron任务上一次的运行时间是2024-05-10 00:15:00, 下一次运行的时间是2024-05-10 00:17:00, 运行时间间隔为2分钟, 离下一次运行还有37秒, 一天预估需要运行720次,每一次运行的时间长度取决于执行任务的时间复杂度,如果执行的时间过长,需要考虑上锁或者重试,避免多次执行之间的相互干扰。

Cron 是一个 Linux 程序,允许用户安排执行一个任务,通常是一个 shell 脚本或编译后的可执行文件。Cron 通常用于你有一个需要按固定时间表运行的任务或自动化重复的任务,如下载文件或发送电子邮件。 在最基本的层面上,一个 cron 作业是写入一个名为 cron 表的表格中的条目,简称 crontab。此条目包含一个时间表和一个要执行的命令。Cron 守护进程(crond)查找 crontab 中的条目,确定应运行哪些作业,以及根据指定的时间表何时运行它们。

1、cron表达式基本语法

Cron 表达式是由空格分隔的五个或六个字段组成的字符串,用于指定计划任务的时间表。以下是每个字段的含义

    
    * * * * * command-to-be-executed
    - - - - -
    | | | | |
    | | | | ----- 星期 (0 - 7) (周日=0 or 7)
    | | | ------- 月份 (1 - 12)
    | | --------- 日期 (1 - 31)
    | ----------- 小时 (0 - 23)
    ------------- 分钟 (0 - 59)

每个字段的可能值如下:

分钟:0-59
小时:0-23
日期:1-31
月份:1-12
星期:0-7(0 和 7 都代表周日)

每个字段中都可以使用以下特殊字符:

星号(*):代表该字段的所有可能值。例如,在小时字段中, 代表 0 到 23 的每个小时。
逗号(,):用于列出不连续的值。例如,在日期字段中,7,14,21,28 表示每个月的 7 日、14 日、21 日和 28 日。
短横线(-):用于指定值的范围。例如,在小时字段中,10-16 表示上午 10 点到下午 4 点。
斜杠(/):用于指定步长。例如,在分钟字段中,*/15 表示每 15 分钟。

    

更多cron表达式介绍,请参考文章cron表达式详解

2、cron表达式每分钟使用场景

Cron 任务的使用场景非常广泛,它可以自动化执行许多定期任务,以下是一些常见的应用场景:

  1. 数据库备份:定期备份数据库以防止数据丢失。
  2. 系统更新和维护:定期检查和安装系统更新。
  3. 日志分析:定期分析服务器日志以了解用户行为。
  4. 发送电子邮件:定期发送电子邮件,例如每日或每周的新闻简报。
  5. 网站监控:定期检查网站是否正常运行,并在网站宕机时发送警报。
  6. 数据同步:定期同步在不同位置的服务器上的数据。
  7. 清理临时文件和缓存:定期删除临时文件和缓存以释放磁盘空间。
  8. 网站抓取和数据采集:定期从其他网站获取数据。
  9. 报告生成:定期生成报告,例如每日销售报告或每周网站流量报告。
  10. 用户通知:定期通知用户他们有新的消息或更新。
  11. 自动化测试:定期运行测试以确保代码没有问题。
  12. 监控磁盘空间:定期检查服务器的磁盘使用情况,并在磁盘空间不足时发送警报。
  13. 定期重启服务:某些服务可能需要定期重启以保持最佳性能。
  14. 定期更改密码:出于安全考虑,定期更改一些账户的密码。

总的来说,任何需要定期自动执行的任务都可以使用 Cron 来实现。

下面是3个cron表达式在系统中配置的Demo
     
        * * * * * /usr/bin/php /var/www/gen_report.php  #定时导出报表
        * * * * * bash /var/www/sendEmial.sh            #定时发送邮件
        * * * * * bash /var/www/clean_disk.sh           #定时清理磁盘
     
 

3、cron表达式每分钟最近10次执行计划

最近10次执行计划如下:

  • 2024-05-10 00:17:00
  • 2024-05-10 00:18:00
  • 2024-05-10 00:19:00
  • 2024-05-10 00:20:00
  • 2024-05-10 00:21:00
  • 2024-05-10 00:22:00
  • 2024-05-10 00:23:00
  • 2024-05-10 00:24:00
  • 2024-05-10 00:25:00
  • 2024-05-10 00:26:00

4、常用的cron表达式

常用的一些cron例子:

5、监控Cron任务

  1. 日志监控:Cron 任务的执行情况会被记录在日志中,你可以通过查看这些日志来了解 Cron 任务的运行情况。在大多数 Linux 系统中,Cron 日志默认存放在 /var/log/cron/var/log/syslog 文件中。你可以使用grep 命令来查找与特定 Cron 任务相关的日志条目。

  2. 邮件通知:Cron 任务在执行过程中如果产生了输出,那么这些输出默认会被发送到任务所有者的邮箱中。你可以配置 Cron 任务,使其在出错时发送邮件通知。例如,你可以在 Cron 任务的条目中添加 MAILTO="your-email@example.com",这样当任务出错时,你就会收到邮件通知。

  3. 使用第三方工具:有一些第三方工具,如 Cronitor、Healthchecks.io、Dead Man's Snitch 等,可以帮助你监控 Cron 任务。这些工具通常会提供一个 URL,你可以在 Cron 任务的开始和结束时访问这个 URL,这样工具就可以监控到任务的执行情况。如果任务没有按预期执行,这些工具还可以发送警报。

  4. 自定义脚本:你也可以编写自定义脚本来监控 Cron 任务。例如,你可以在 Cron 任务开始时记录当前时间,在任务结束时再次记录时间,然后将这两个时间点之间的差值保存下来。这样你就可以知道每个任务的执行时间。如果任务的执行时间超过了预期,你可以发送警报。

理解 Cron 表达式的语法和符号是使用 Cron 的关键。

ajax-loader