Mac系统crontab 定时执行

1、Linux和Mac下操作crontab都是一致的

2、配置文件都在/etc/crontab下,如果没有就创建。

3、crontab参数

  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文件时给确认提示。

4、配置环境变量,打开open ~/.bash_profile文件添加以下内容;

  EDITOR=vim crontab -e;export EDITOR

5、crontab的文件格式

  eg:* * * * * sh /xxxxx/davecron.sh >>/xxxxx/davecron.log

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

6、crontab服务的重启关闭
  Mac系统下:
  
sudo /usr/sbin/cron start
  sudo /usr/sbin/cron restart
  sudo /usr/sbin/cron stop
  Ubuntu:
  
sudo /etc/init.d/cron start
  sudo /etc/init.d/cron stop
  sudo /etc/init.d/cron restart

7、单独执行.sh文件可以成功,加入crontab中,没有定时执行问题
  原因:环境变量问题
  解决:
    1.写shell脚本时头部添加:#!/bin/bash
    2.终端输入env查看系统变量
      

    3.将系统变量添加到shell文件中

  

     4.再次运行crontab定时执行,成功



 
 
原文地址:https://www.cnblogs.com/miracleflower/p/14875535.html