美文网首页
利用crontab命令来设置定时任务

利用crontab命令来设置定时任务

作者: ITgecko | 来源:发表于2018-08-21 17:36 被阅读0次
  • crontab是linux系统中的一个命令,可以用来安装、卸载或者查看基于crond守护进程的定时任务。我使用的mac系统,操作系统就是Darwin,可能部分内容和其他linux系统中的crond有些区别。
crond进程
  • crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,守护进程意味着它不能被关闭,它会随着系统的启动而启动,直到系统关闭才停止,用户只能卸载定时任务而不能直接停止该进程。
  • linux中每个用户都有自己的crontab,但是否允许使用该命令,涉及到权限问题,下面来看看如何确定权限:首先进入目录/usr/lib/cron/,如果该目录下有文件cron.allow,那么存在于cron.allow的用户才有权限使用crontab命令。如果cron.allow不存在,而cron.deny存在,则表示存在于cron.deny的用户无权限,其他的都有权限使用crontab。如果上述文件都不存在,那么可能只有通过root权限,即sudo crontab来执行,或者所有人都有权限。
crontab命令
  • 在当前用户有执行crontab的权限时,可根据参数,进行相关操作。
    • -l 在标准输出上列出当前的crontab任务。
    • -r 清空当前crontab任务
    • -e 打开一个编辑器,可以新建/编辑当前crontab任务,当你离开该编辑器时,对crontab任务的修改会立即自动安装。
  • 接下来我们看下具体的crontab任务要怎么编写:
    * * * * * command
  • 大概格式如上,前五位分别表示:分、时、几号、几月、周几,后面接上需要执行的命令。
  • 规定时间的格式可以使用特殊符号:
    • 星号(*):代表当前时间可以匹配任意值,均可以触发命令。
    • 逗号(,):逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”,表示这几项其中之一就可以匹配。
    • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示匹配2到6。
    • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
  • 具体的使用示例可以在网上看看,理解起来还是很简单的。
注意事项
  • crontab命令的执行结果会以邮件的形式发送给当前用户的邮箱中,可以通过vim /var/mail/当前用户名来查看邮箱,在命令执行错误的时候,错误信息也会发送到邮箱。但是每次执行完毕都会发送到邮箱中,如果你不想接收频繁的邮件信息,可以在命令的结尾加上> /dev/null,这样就把输出传递给/dev/null了。
  • crontab里的command如果你要执行python或者node之类的脚本,直接写python file.py可能会报错,说找不到python命令,这是因为crontab的执行环境里没法找到python命令。有几个解决方法:1.先在命令行输入which is python得到python的绝对路径,在crontab中使用这个绝对路径来代替python(注意,需要执行的python脚步文件也要以绝对路径形式写在crontab中)。2.先cd到python脚本的文件夹目录,再执行python命令:cd /a/b/c && python file.py,只要python文件所在目录能直接执行python,这样就可以了。

相关文章

  • Linux定时任务Crontab

    定时任务服务提供crontab命令来设定任务 定时任务命令: 定时任务服务提供crontab命令来设定任务 cro...

  • 利用crontab命令来设置定时任务

    crontab是linux系统中的一个命令,可以用来安装、卸载或者查看基于crond守护进程的定时任务。我使用的m...

  • Python-crontab和Django-crontab 实现

    Linux中可以使用crontab设置定时任务,可以通过命令crontab -e编写任务,也可以直接写配置文件设置...

  • crontab定时任务

    使用crontab部署定时任务 什么是Crontab?Crontab命令是Unix系统和类Unix系统中,用来设置...

  • crontab命令总结

    基本用法 crontab命令用于在Linux服务器上设置定时任务,通过crontab --help可以查看命令使用...

  • crontab 定时任务命令

    定时任务命令: 1.定时任务服务提供crontab命令来设定服务 2.crontab -e //编辑某个用户的c...

  • Crontab

    crontab命令: crontab定时任务: example:

  • linux定时任务crontab使用介绍

    1.crontab介绍   crontab命令设置定时任务执行的时间规则,系统自动周期性执行命令。这里我们就可以自...

  • Linux - 定时任务

    定时器计划任务,crontab命令选项: 2 cron文件语法: 可用crontab -e命令来编辑,编辑的是/v...

  • mac 定时任务

    1、使用crontab设置定时任务 crontab -e 或者sudo crontab -e。 00 16 * *...

网友评论

      本文标题:利用crontab命令来设置定时任务

      本文链接:https://www.haomeiwen.com/subject/uabjiftx.html