crontab使用

crond服务器

通过 chkconfig --list | grep cron 命令来查看cron服务的启动情况:

chkconfig --list | grep cron
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。

查看crontab服务状态:
service crond status

我们可以看到,系统启动级别如果是1-4,cron服务都会开机自动启动的,我们可以通过如下命令来设置该服务的启动项:

  /sbin/service crond start
  /sbin/service crond stop
  /sbin/service crond restart
  /sbin/service crond reload

crontab命令:

  crontab -e      编辑crontab

  crontab -l  查看crontab

  crontab -r  删除crontab

   crontab 设置定时时间格式

 

举例说明:

 

工作原理

当使用 crontab 命令来创建工作任务后,该项工作就会被记录到/var/spool/cron/,而且是以帐号来作为判别的。例如,hadoop使用 crontab 后, 他的工作会被纪录到 /var/spool/cron/ hadoop中,但请不要使用 vi 直接编辑该文件,因为可能由于输入语法错误,导致无法运行 cron 服务。另外,cron 运行的每一项工作都会被记录到 /var/log/cron 这个档中,所以,如果你的 Linux /unix不知道是否被植入木马时,也可以搜寻一下 /var/log/cron 这个登录档。

crond服务的最低侦测限制是分钟,所以,cron会每分钟去读取一次 /etc/crontab 与/var/spool/cron 里面的数据内容,只要你编辑 /etc/crontab 这个文件,并且将它储存之后,那么 cron 的配置就自动的运行了。

在 Linux/unix 下的 crontab 会自动的帮我们每分钟重新读取一次 /etc/crontab 的例行工作事项,但是某些原因或者是其他的Unix/linux系统中,由于crontab 是读到内存当中的,所以在你修改完 /etc/crontab 之后,可能并不会马上运行, 这个时候请重新启动 crond 这个服务:/etc/init.d/crond restart。 

 重启命令:/etc/init.d/crond restart

crontab 文件:

  /etc/crtontab 系统调度文件
  /var/log/cron 日志记录
  /etc/crontab.deny黑名单文件与/etc/crontab.allow白名单文件(默认不存在)
  1、分别表示不能使用crontab命令的用户、以及能够使用crontab命令的用户
  2、两个文件同时存在crontab.allow文件优先
  3、两个文件都不存在则只有root用户才拥有调用该命令
 
  系统调度的任务一般存放在/etc/crontab这个文件下,里面存放了一些系统运行的调度程序,通过命令cat crontab查看
  这些任务会在系统运行起来自动调用
 
  每个用户都会生成自动生成一个自己的crontab文件,一般位于/var/spool/cron目录下
  执行命令crontab -r 就会删除当前用户的crontab文件。例如你切换到hadoop账号下,执行了该命令,那么/var/spool/cron/hadoop文件就会删除,如果要创建该文件只需要用crontab -e命令即可。
  注意,普通用户一般没有权限访问/var/spool/cron
原文地址:https://www.cnblogs.com/zhoufly-blog/p/12342259.html