第一次使用 crontab 用户,尝试通过定期将日期/时间放入标准输出来学习

第一次使用 crontab 用户,尝试通过定期将日期/时间放入标准输出来学习

我正在尝试学习如何使用 crontab 定期执行 bash 命令。我想我应该先尝试一些简单的事情,比如让 crontab 每分钟将日期和时间读取到标准输出。但当我尝试这样做时,会发生以下情况:

Nicholass-MacBook-Air-2:cron_test nick$ crontab 1 * * * * date
crontab: 1: No such file or directory

我该如何让它发挥作用?

谢谢,

缺口

答案1

在终端中输入以下行

crontab -e

输入以下行并保存文件。

1 * * * * date >> /tmp/output.txt

一分钟后,查看输出文件

cat /tmp/output.txt

答案2

crontab命令不会在命令行上获取 cron 作业条目。要添加 cron 作业条目,请运行crontab -e以打开编辑器。

在 macOS 上,这不起作用,因此您应该准备一个包含 cron 条目的文本文件并提供进入crontab

$ vi crontab.txt   # use whatever editor you want

在其中添加条目:

* * * * * date >>/tmp/date.out

此条目将安排date命令每分钟运行一次,永远运行(或直到 cron 作业被删除),并且它将其输出写入/tmp/date.out,每次运行时添加新的输出行。

保存文件并退出编辑器。

然后,实际加载 cron 条目:

$ crontab crontab.txt

但请注意,这替换当前用户的所有现有 crontab 条目,如果有的话。

添加macOS 上的条目,同时保留任何已存在的条目,首先crontab.txt使用现有的 crontab 条目创建并编辑该文件并将其加载回:

$ crontab -l >crontab.txt
$ vi crontab.txt
$ crontab crontab.txt

去除全部条目,使用crontab -r.

macOS 上的 Cron 还可以理解特定调度时间的@reboot@hourly@daily等短名称。@weekly手册crontab(5)在您的系统上了解更多信息 ( man 5 crontab)。

相关内容