• Linux下:定时任务——执行脚本


    一、简单介绍LInux下的定时任务服务:crond服务

    • crond是Linux系统用来定期执行命令或指定程序的服务的一种服务或软件。

    • 一般情况下安装完成Linux操作系统之后,默认便会启动Crond任务调用服务。

    • Crond服务会定期(默认一分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便根据其预先设定的定时任务规则自动执行该定时任务工作。

    二、设置定时任务,两种方法

    1、crontab命令

    • crontab -e 进入当前用户的定时任务vim编辑模式

    • crontab -l 查看当前用户的定时任务配置

    • crontab -u 用户名 -l 查看指定用户的定时任务设置

    注:crontab { -l | -e } 实际上就是在操作/var/spool/cron/当前用户这样的文件,root用户就是/var/spool/cron/root

    2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的定时任务

    注:crontab -e配置是针对当前用户的定时任务,而编辑/etc/crontab是针对系统的定时任务

    三、定时任务编写规则说明

    # 直接编辑/etc/crontab 文件
    
    minute - 从0到59的整数 
    hour - 从0到23的整数 
    day - 从1到31的整数 (必须是指定月份的有效日期)
    month - 从1到12的整数 (或如Jan或Feb简写的月份)
    dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)
    root - 表示以root用户身份来运行
    command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令) 
    
    run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本
    对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 
    整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4
    指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。
    符号“/”指定步进设置。“/<interger>”表示步进值。如0-59/2定义每两分钟执行一次。
    # crontab -e 同上,只是不需要加用户
    

    四、其他

    1、crontab 语法格式中特殊符号含义如下表

    特殊符号	含义
    
    *	*号,表示任意时间都,实际就是“每”的意思
    -	减号表示分隔符,表示一个时间范围,区间段,如17-19点,例如:每天的17,18,19点的00分执行任务。00 17-19 * * * cmd
    ,	逗号,表示分隔时段的意思例如每天的5点10点00分执行任务,00 5,10 * * * cmd
    /n	n代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成/*10 * * * * cmd,其中,/10,的范围是0-59,因此也可以写成0-59/10
    

    2、定时任务日志

    # 不记录日志,在每一行定时任务后面加上: 
    
    > /dev/null 2>&1
    
    # 日志记录追加到指定文件
    
    >> /path/mylog.log  2>&1
    
    说明:
    > /dev/null 将输出重定向到/dev/null,这是个空设备,也就是忽略其输出。 
    2>&1  是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试。
    有3个默认的i/o,0是标准输入,一般是键盘;1是标准输出,一般是屏幕了;2是标准错误。

    转自:https://www.cnblogs.com/Mrq-t/p/12836414.html

  • 相关阅读:
    C/C++预定义编译宏
    vi/vim教程
    Shell参数展开
    GNU构建系统和Autotool
    Makefile强制目标(没有命令或依赖的规则)
    C程序的存储空间布局(内存结构)
    linux deamon
    JavaScript高级程序设计——闭包
    PureMVC(JS版)源码解析(三):Observer类
    PureMVC(JS版)源码解析(二):Notification类
  • 原文地址:https://www.cnblogs.com/shiliuye/p/13267043.html
Copyright © 2020-2023  润新知