cron定时任务

crond服务操作命令
  /sbin/service crond start //启动服务
  /sbin/service crond stop //关闭服务
  /sbin/service crond restart //重启服务
  /sbin/service crond reload //重新载入配置
  /sbin/service crond status //查看服务状态

一、crontab命令选项

#crontab -u <-l, -r, -e>
-u:指定一个用户
-l:列出某个用户的任务计划
-r:删除某个用户的任务
-e:编辑某个用户的任务
 
Minute Hour Day Month Week command
分钟 小时 天 月 星期 命令
- - - - - command
“*”代表取值范围内的数字, 
“/”代表”每”, 
“-”代表从某个数字到某个数字, 
“,”分开几个离散的数字
 
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

二、/etc/crontab

如在 /etc/crontab 文件中run-parts部分所示,它使用 run-parts 脚本来执行存在于 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地按照预设时间在每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本,并且具有可执行权限(chmod +x filename)。
 
如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到/etc/cron.d目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

一、/etc/crontab文件和crontab -e命令区别

1、格式不同

前者

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

后者

#50 1 * * *  command

2、使用范围

修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等,
crontab -e这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename
3.服务重启
 1 /etc/init.d/crond restart
 2 service crond restart

四、cron任务文件

cron 会从如下这些地方读取安装的任务:

/etc/anacrontab
这个文件存着系统级的任务。它主要用来运行每日的(daily),每周的(weekly),每月的(monthly)的任务。一般不在此文件安装自己的任务

/etc/cron.d/
此目录下存放的是系统级任务的任务文件。

/var/spool/cron/
此目录下存放各个用户的任务文件。各个用户的任务存放在以自已用户名为文件名的任务文件中。此文件中的指令行没有用户域。

五、日志文件

可以通过查看文件/var/log/cron查看任务的运行情况。

新任务安装后或任务修改后不需要重启cron进程即可生效。

六、例子:每天执行一次的日志清理任务

#!/bin/sh
find /opt/taobao/install/antdnsfilter/logs/antdnsfilter -type f -ctime + | xargs rm -f

保存文件cleanlog,放到/etc/cron.daily/目录下,文件权限. 每天03:40:01执行

七、例子:进程保活,每分钟执行一次

* * * * * root  /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&1

保存文件monitor,放到/etc/cron.d/目录下,文件权限,否则BAD FILE MODE。

保留个空行,我自己调试的时候,没空行的情况会不执行。

> /dev/null 2>&1 表示标准输出流和标准错误流会被重定向到/dev/null,如果不加这一句,会报没有权限。
(CRON) EXEC FAILED (/dev/null): Permission denied
 
提高检测频率,10s一次:
* * * * * root  /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&

八、查看所有用户的crontab任务

cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}


附录: 
 
让Linux下的cron以秒为单位执行shell脚本的3种方法: http://www.jb51.net/article/56435.htm
crontab 解决周期内未执行完重复执行 :http://blog.csdn.net/phachon/article/details/52106409
/etc/crontab文件和crontab -e命令区别 : http://www.cnblogs.com/xd502djj/p/4292781.html
cron配置 https://www.cnblogs.com/shuaiqing/p/7742382.html

linux单进程服务保活supervise

关于linux服务器进程监控及自动重启的简单方案 : http://blog.csdn.net/ljxfblog/article/details/40362229

http://blog.chinaunix.net/uid-26588712-id-3196464.html

https://yq.aliyun.com/articles/47001
bash: /dev/null: Permission denied , Why???? :http://www.linuxforums.org/forum/newbie/27030-bash-dev-null-permission-denied-why.html

linux 定时任务 cron,利用cron进程保活的更多相关文章

  1. linux定时任务cron配置

    实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...

  2. linux定时任务cron配置说明

    实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...

  3. (转载)Linux定时任务cron配置

    (转载)http://blog.csdn.net/jbgtwang/article/details/7995801 实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务 ...

  4. linux定时任务cron配置[转]

    实现linux定时任务有:cron.anacron.at等,这里主要介绍cron服务. 名词解释: cron是服务名称,crond是后台进程,crontab则是定制好的计划任务表. 软件包安装: 要使 ...

  5. TP5 用cron实现linux定时任务

    TP5 用cron实现linux定时任务 1) tp5的控制器内容: namespace app\test\controller; use think\Controller; use think\fa ...

  6. linux定时任务-cron

    /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 ...

  7. Linux定时任务与开机自启动脚本(cron与crontab)

    开机自启动脚本 网上常见的脚本开机自启方法是: 假设要自启的脚本位于 /home/user/test.sh 给脚本可执行的权限 sudo chmod +x /home/user/test.sh 将脚本 ...

  8. 利用cron监视后台进程状态

    利用cron监视后台进程状态 http://blog.csdn.net/dyx810601/article/details/72967758 1. 利用cron监视后台进程状态,如果进程死掉或服务器重 ...

  9. Linux命令之Crontab定时任务,利用Crontab定时执行spark任务

    Linux命令之Crontab定时任务,利用Crontab定时执行spark任务 一.Linux命令之Crontab定时任务 1.1 常见Crontab任务 1.1.1 安装crontab 1.1.2 ...

随机推荐

  1. vue 实现 rem 布局的 或者 vw 布局的方法

    vue 实现 rem 布局的 或者 vw 布局的方法 一.实现 rem 布局 移动端 <meta name="viewport" content="width=de ...

  2. XmlDocument.load 读文件报异常:文件正被其它线程使用,解决方法

    string filePath = Form1.getProjectFilePath(); System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocu ...

  3. mysql-luster没有data目录

    mysqld --initialize-insecure --user=mysql 直接复制上面这条命令 然后cmd进入到 mysql解压出来bin的目录中: 等待一会  就发发现data的这个目录了 ...

  4. Hadoop的伪分布式的安装

    查看下载地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.0-src.tar.gz 解压hadoop-2.6.0-cdh5.4 ...

  5. 【python】多任务(2. 进程)

    进程间通信 Queue import multiprocessing def download_from_web(q): # 模拟从网上下载数据 data = [11, 22, 33, 44] for ...

  6. 号称全站最直观解释-smv核函数-是干啥

    认识 svm 在求解时, 通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间.特征空间的维数可能非常高.如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(x, x′) ...

  7. GitPython模块

    GitPython模块 安装: pip3 install gitpython Gitpython 操作 import os from git.repo import Repo import json ...

  8. Microsoft SQL Server 2012安装说明

    Microsoft SQL Server 2012安装说明 环境:Windows8, Windows7, WinVista, Win2003, WinXP Microsoft SQL Server 2 ...

  9. mac php thinkphp5 验证码报错 Call to undefined function think\captcha\imagettftext()

    百度一下,是GD库里缺少了freetype支持,然后各种拓展的方法都试了半天,php-v里都生效了,phpinfo里还是不生效,原来是各种文章里都缺少了最关键的一步,修改Apache的配置(我使用的是 ...

  10. Docker07-数据管理

    目录 将数据保存在容器外部 挂载参数 -v 案例:运行mysql容器,将mysql的数据放在主机/data/mysql-data中. 将数据保存在容器外部 容器在运行项目时会产生数据,比如运行的mys ...