Mac中的定时任务crontab

crontab 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

命令格式

crontab [-u user] file
crontab [-u user] { -e | -l | -r }
  • -u user:用来设定某个用户的crontab服务;
    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
  • -i:在删除用户的crontab文件时给确认提示。

crontab 文件格式

分 时 日 月 星期 要运行的命令
  • 第1列分钟1~59
  • 第2列小时1~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要运行的命令

一共6个参数,5个日期,一个命令,从小到大,分、时、天、月,加一个星期。

举例:

  1. 每天两点执行命令,* 表示 每
00 02 * * * command
  1. 每分钟执行命令
* * * * * command
  1. 每隔5分钟执行命令, */ 表示每隔
*/5 * * * * command
  1. 在2:01、2:02、2:03各执行一次命令
01-03 02 * * * command
  1. 在某几个时间点,两点和三点各执行一次命令
00 02,03 * * * command

如果有多个命令则分行写。

举例

1.创建定时任务

在任意目录新建任意文件,比如:mycron

* * * * * date >> a.txt

然后执行:

crontab mycron

表示打印时间信息到用户目录 ~/a.txt 文件中。没有任何反应则表示执行成功。

结果:

➜ tail -f ~/a.txt 
Sun Mar  8 23:40:00 CST 2020
Sun Mar  8 23:41:00 CST 2020

2.查看现在进行的任务脚本

➜  ~ crontab -l  
* * * * * date >> a.txt

3.删除定时任务

➜  ~ crontab -r

你可能感兴趣的:(Mac中的定时任务crontab)