mac下开启定时任务有两种方式 : crontab 和 launchctl
1. crontab
[通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。][1]
[1]:http://blog.csdn.net/h514476785j/article/details/52488452
1.1命令格式
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的文件格式
* * * * * 运行的命令
│ │ │ │ │
│ │ │ │ └─── 星期几 (0 - 6) (0到6 0代表周日 1周一)
│ │ │ └──────── 月份 (1 - 12)
│ │ └───────────── 每月几号 (1 - 31)
│ └────────────────── 小时 (0 - 23)
└─────────────────────── 分钟 (0 - 59)
创建任务如下:
sudo crontab -e//回车后输入密码
//进入VI编辑,输入
* * * * * say hello//这个地方可以放脚本的路径
//保存即可。
//这样每分钟都会听到hello了
五个星星依次表示:
minute — 分钟,从 0 到 59 之间的任何整数
hour — 小时,从 0 到 23之间的任何整数
day — 日期,从 1 到 31之间的任何整数(如果指定了月份,必须是该月份的有效日期)
month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb等等)
dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如sun、mon 等等)
命令语句:
crontab -l显示目前所有的任务
crontab -r删除所有的任务
crontab -e编辑任务
ps:上述创建的任务是在root账户下创建的,每次查询删除,编辑都需加上sudo ,如果不加上则表示在当前账户下创建
2.mac系统自带定时任务
优点:定时精确到秒
https://my.oschina.net/jackin/blog/263024
参考另外一篇[Mac守护进程][mac守护]
[mac守护]:http://www.jianshu.com/p/df4070f39556