仓库源文站点原文

定时任务

cron

安装

cron 通常分为三部分

  1. crond 是 cron 在系统内的守护进程,
  2. crontab 是管理 cron 任务的工具
  3. 配置文件

cron 表达式

* * * * *
分 时 日 月 星期
特别的
    @yearly 0 0 1 1 * 每年运行一次
    @monthly 0 0 1 * * 每月运行一次
    @weekly 0 0 * * 0 每星期运行一次
    @daily 0 0 * * * 每日运行一次
    @hourly 0 * * * * 每小时运行一次
            * * * * * 每分钟运行一次 这个就没有特殊的名称了
    @reboot
        将作业配置为在守护程序启动时运行一次。
        由于 cron 通常永远不会重新启动,因此这通常用于系统启动时运行的任务

cron 如何使用

常用的命令

cron 的实现

使用bash脚本实现的隔秒运行和单例运行

systemd 的 timer

如何创建定时器

定时器的相关命令

列出所有定时器
    systemctl list-timers
systemctl 的命令也能直接用在 定时器中
    start stop status enable disable
查看所有单元
    systemctl list-unit-files
查看所有 Service 单元
    systemctl list-unit-files --type service
查看所有 Timer 单元
    systemctl list-unit-files --type timer

和 cron 比较

Windows 的 计划任务

在 windows 下如何运行 cron

其他

Linux 的 at 和 atq

at 和 atq 通常用于一次性任务

Windows 的 at

还有哪些好用的定时任务或计划任务工具?

<!-- 计划任务 schedule job 触发器 基于时间的 基于事件的 系统事件 开机/关机 用户登入/用户登出 系统状态 cpu 内存 硬盘io 网络io 自定义事件 web hook 这类的 任务 执行脚本 脚本库 任务监控 记录任务的状态 是否有出错,出错是否有错误的记录? 运行开始时间 运行时长 运行结束时间 失败后重试? 任务超时后强制关闭? 任务的miss? 失败后的日志和通知? 分布式的任务?distributed schedule job https://github.com/f2h2h1/php-win-cron 怎样实现一个 cron ? -->