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. 为什么K8s会成为主流?

    容器技术和K8s是云原生概念的核心和基础.云计算诞生已有超过10年,但云计算时代的应用到底该是什么样子,一直没人能说清楚,也没人能确定云计算的基础架构将会如何发展.在K8s出现之前,没人设想过会有一个 ...

  2. Java 使用properties配置文件加载配置

    一般我们不把数据库的配置信息写死在代码中. 写好代码后,编译.调试,成功后只把输出目录中的东西(jar包..class文件.资源文件等)拷贝到服务器上,由运维来管理.服务器上是没有源文件的(.java ...

  3. CSS 样式的使用方式、选择器

    在html中使用css的三种方式: 1.行内样式:同过元素的style属性来设置 <p style="font-size:20px; color:red">hello& ...

  4. IOS 微信、QQ、叮叮等APP虚拟定位 实在太好用了

    前不久爱思助手更新了最新版本:V7.96,同时更新了好几个功能,包括给ios设备修改虚拟定位功能,想要给手机修改,我们需要电脑下载爱思助手最新版本V7.96,数据线连接电脑修改. 借助爱思助手的虚拟定 ...

  5. 安装部署Spark 1.x Standalone模式集群

    Configuration    spark-env.sh        HADOOP_CONF_DIR=/opt/data02/hadoop-2.6.0-cdh5.4.0/etc/hadoop   ...

  6. nginx 405错误

    nginx配置文件加上location / { try_files $uri $uri/ /index.php?$query_string; }

  7. mysql float和decimal

    结论: 1. float 默认只保存6位(除去小数点),如果超过6位,则四舍五入,所以float存储的数据是不精确的,只是近似值: 2. decimal,如果输入的数据超过了定义的最大值,那么则溢出, ...

  8. centos 服务器 nginx 负载均衡服务安装

    yum -y install gcc gcc-c++ autoconf automake libtool make cmake yum -y install zlib zlib-devel opens ...

  9. awk - 数据分析和展示

    目录 NAME 格式 常用选项 表达式 PATTERN(模式) 流程控制语句 数组 print,printf格式化输出 常用示例 NAME gawk - pattern scanning and pr ...

  10. golang测试

    简述 Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试. go test [-c] [-i] [build flags] [packages] [f ...