mac crontab

什么是 crontab

crontab 是一个专门用于管理 cron 表达式的工具,它可以实现定时执行任务,而不需要人的参与。它可以根据用户输入的 cron 表达式,自动按照指定的频率执行指定的任务。它简化了定时任务的管理,提高了工作效率。crontab 充当了管理员的角色,它来“发号施令”,Mac 乖乖干活。

crontab 在 Mac 中已经自带,不需要额外安装。

如何管理 crontab

  1. 查看当前正在运行的 cron 任务
bash复制代码# 显示与 cron 相关的进程和命令,以及它们的 PID(进程 ID)
ps -ef | grep cron
  1. 停止 cron 服务
bash复制代码# 暂停所有任务的执行
sudo launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist
  1. 启用 cron 服务
bash复制代码# 恢复所有任务的执行
sudo launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist

注意:添加定时任务后,不需要先停用后启用 cron 来重新加载它。

  1. 编辑任务
bash复制代码# 完成编辑后,保存并关闭文本编辑器即可
crontab -e
  1. 删除任务(慎用
bash复制代码# 注意!!!这将删除所有 cron 任务,包括重要的系统任务!!!
crontab -r
  1. 列出任务
bash复制代码# 列出当前用户的所有 cron 表达式
crontab -l

cron 表达式(具体命令)

既然 crontab 是管理 cron 表达式 的,那就必须要了解了解 cron 表达式了。

cron 表达式是一个时间计划的字符串,用于指定何时运行命令或脚本。每个字段代表一个时间节点,它们分别是分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-6),它们之间用一个空格分隔。

scss复制代码* * * * *
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday=0)
| | | +---------- month (1 - 12)
| | +--------------- day of the month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- minute (0 - 59)

每个字段都代表时间的不同部分,例如,第一个字段代表分钟,第二个字段代表小时,以此类推。

字段可以使用以下符号和值:

  • 星号(*):匹配任何可能的值。
  • 逗号(,):用于分隔多个可能的值。
  • 连接号(-):用于指定一系列连续的值。
  • 正斜杠(/):用于指定间隔时间。例如,*/5 表示每隔 5 个时间单位(分钟、小时等)执行一次命令。
  • 数字:表示具体的时间值。

以下是一些例子:

  • 0 0 * * *:每天午夜执行一次。
  • 0 0 * * 1:每周一午夜执行一次。
  • 0 9-17 * * 1-5:工作日的 9 点到 17 点每隔一小时执行一次。
  • 0 */3 * * *:每隔 3 小时执行一次。
  • */5 * * * *:每隔 5 分钟执行一次。

需要注意的是,cron 表达式的时间是基于系统时区设置的,因此请确保在编写 cron 表达式时考虑正确的时区。

如果你看了上面的例子还是不会写,请不要怀疑🤨,这是我的问题。但是希望下面的这个小工具可以帮到你,网站地址请点击这里

crontab 执行记录

在 Mac 系统中可以使用命令行工具 "cron" 来查看 crontab 执行记录。

  1. 打开终端。
  2. 输入以下命令,查看 crontab 中设置的任务:
crontab -l
  1. 若想查看 cron 中所有用户的任务记录,可以使用:
cat /var/log/cron.log
  1. 另外,还可以使用 syslog 查看 cron 日志。
tail -f /var/log/system.log

results matching ""

    No results matching ""