• Crontab设置定时任务


    引用百度定义:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

    crontab 类似于 java的Quartz 。很大的区别:crontab的时间精度到分,Quartz可以精确到秒

    一、crond简介

    crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

    Linux下的任务调度分为两类:系统任务调度、用户任务调度

    系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

    用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

    二、CRONTAB语法及应用

    1:查看当前用户的定时任务

     crontab -l

    */2 * * * * echo "i am crontab" >> /home/zhang/hello

    2:编辑当前用户的定时任务

    可以在编辑状态修改、删除、新增一些定时任务。注释一般用#

     crontab -e

    3:删除当前用户的定时任务

     crontab -r

    4.Cron文件格式

    *  *  *  *  *  command
    分 时 日 月 周   命令

    第1列表示分钟1~59, 每分钟用*或者 */1表示
    第2列表示小时1~23(0表示0点)
    第3列表示日期1~31
    第4列表示月份1~12
    第5列标识号星期0~6(0表示星期天)
    第6列要运行的命令

    实例:

    crontab文件的一些例子:

    30 21 * * * /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每晚的21:30重启apache。

    45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每月1、10、22日的4 : 45重启apache。

    10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每周六、周日的1 : 10重启apache。

    0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

    0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

    上面的例子表示每星期六的11 : 00 pm重启apache。

    * */1 * * * /usr/local/etc/rc.d/lighttpd restart

    每一小时重启apache

    * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

    晚上11点到早上7点之间,每隔一小时重启apache

    0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

    每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

    一月一号的4点重启apache

    5.环境变量

    1、在SHELL中设置了必要的环境变量;例如一个shell脚本手工执行OK,但是配置成后台作业执行时,获取不到ORACLE的环境变量,这是因为 crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置

    2、尽量所有的文件都采用完全路径方式,避免使用相对路径。

    1)脚本中涉及文件路径时写全局路径;

    2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量

  • 相关阅读:
    野火书籍《STM32库开发实战指南》配套例程
    使你的MFC程序具有win7的透明立体风格
    C#:params 关键字的学习
    "ASP.NET Ajax 客户端框架未能加载"解决办法
    未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。
    GIS:如何将东城和崇文合并
    委托和Lambda表达式(一):委托概述
    Cron表达式详解
    正则表达式在JAVA中的简单实例
    使用jdom创建XML文件
  • 原文地址:https://www.cnblogs.com/selinamee/p/6873953.html
Copyright © 2020-2023  润新知