• Crontab


    语句:
    0 0 * * * /usr/sbin/ntpdate 10.0.0.155>>/date/logs/ntp.log 2>&1

    基本格式
    * * * * * command
    0 0 * * * /usr/sbin/ntpdate x.x.x.x
    分 时 日 月 周 命令
    第1列表示分钟1-59 每分钟*或者*/1.表示
    第2列表示小时1-23(0表示0点)
    第3列表示日期1-31 每天*表示
    第4列表示月份1-12 每月*
    第5列标识号星期0-7(0,7表示星期天)
    第6列要运行的命令 /usr/sbin/ntpdate x.x.x.x

    含义取值范围(整数)
    第一段 代表分钟 00-59(00或者0)
    第二段 代表小时 00-23
    第三段 代表日,天 01-31
    第四段 代表月份 01-12
    第五段 代表星期,周几 0-7(0和7都代表星期日)

    Crontab –l 查看当前用户的任务计划 ,查看crontab 文件内容


    Cat /var/spool/cron/root 任务计划的配置文件
    Crontab –e 编辑任务计划 (自动定期运行)  编辑crontab文件内容

     

    重启/etc/init.d/crond restart

    如何查看进程 

    [root@MongoDB ~]# ps -ef |grep crond
    root       7443      1  0 03:44 ?        00:00:00 /usr/sbin/crond -n
    root       7446   7410  0 03:45 pts/1    00:00:00 grep --color=auto crond

    修改crontab 不重启服务能生效

    修改后保存配置文件就好了
    crontab 会根据系统时间,每一分钟扫描文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改,
    crontab常常在后台运行,每一分钟检查是否有预定的作业需要执行查看当前是否有定时任务的。所以修改文件即可不需要重启

    * * * * * command          # 每分钟执行一次
    0 3 * * * command          # 每天凌晨3点执行一次
    0 3 1 * * command          # 每个月1号的凌晨3点执行一次
    0 3 1-10 * * command       # 每个月的1-10号的凌晨3点执行一次
    0 3 1,10,20 * * command    # 每个月的1号/10号/20号的凌晨3点执行一次
    */2 * * * command          # 每两分钟执行一次,也就是能被2整除的分钟(2,4,6,8,....)
    * * * */2 * command        # 每两个月执行一次,也就是能被2整除的月份(2,4,6,8,10,12)
    
    
    
     
    30 */6 * * * /bin/bash/scripts/test.sh # 每6个小时的半点执行
    30 3,12 * * * /bin/sh /scripts/test.sh # 每天的凌晨3点30或12点30 执行 脚本
    30 8-18/2 * * * /bin/sh /scripts/test.sh # 早上8点到18点每隔2个小时 的半点执行 脚本 
    
    45 4 1,10,22 * * /bin/sh /scripts/test.sh # 每个月1,10,22号 凌晨4点45分 执行脚本
    10 1 * * 6,0 /bin/sh /scripts/test.sh # 每周六 周日的 凌晨1点10分  执行脚本
    0,30 18-23 * * */bin/sh /scripts/test.sh # 8到23点 整点和半点执行  脚本
    
    00 */1 * * * //bin/sh /scripts/test.sh # 每1小时 的整点执行脚本
    0 11 * 4 1-3 /bin/sh /scripts/test.sh # 4月的星期一到星期三的上午11点整执行脚本
    0 9 5 5 * /bin/sh /scripts/test.sh  # 5月5日上午9:00执行脚本
    30 9 * * 7 /bin/sh /script/test.sh # 每周日上午 9:30 执行脚本
    
    
    
    
    
    特殊符号含义
    * *号,表示任意时间都,实际就是“每”的意思
    - 减号表示分隔符,表示一个时间范围,区间段,如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
     

    总结

    
    

    1)定时任务要加注释

    2)如果已经要定向到文件(把命令或脚本的结果放到文件)中,结尾不要有>/dev/null 2>&1

    4)定时任务中的路径一定要绝对路径

    5)crond服务必须首先开启

    6)查看定时任务日志 tail /var/log/cron


    每5分钟和互联网时间做一次同步
    */5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
     
    echo "*/2 * * * * /usr/sbin/ntpdate ntp2.aliyun.com > /dev/null 2>&1" > /var/spool/cron/root
    
    
    
     
  • 相关阅读:
    【spring】基于AspectJ的AOP
    【matlab】stanford线性回归,logistic regression 实验
    【Python】列表、字典和元组的排序
    PHP 二叉树的深度优先与广度优先遍历
    PHP 定义栈结构,实现min函数,获取栈最小元素,要求时间复杂度为O(1)
    PHP 短连接生成
    一条SQL查询访问记录表(visit_log)中某个类目(catalog_id)的访问量(visit)排前两名的记录行
    利用 p, 1p 随机数发生器知道等概率发生器
    PHP 将二叉查找树转换为双向链表,要求不能创建新节点,只能调节节点指针
    PHP 求最大递增子序列长度
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/7837893.html
Copyright © 2020-2023  润新知