zoukankan      html  css  js  c++  java
  • crontab

    0.查看日志
    tail -f /var/log/cron

    1.确保系统服务启动
    systemctl status crontab

    2、修改/etc/crontab
    每天凌晨三点,执行123.sh脚本文件,正确的和错误的日志都输出到123.log文件中
    0 3 * * *  /bin/bash  /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log
    因为是每天三点执行脚本,所以可以写成追加,每天都去记录日志
    0 3 * * *  /bin/bash  /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log
    每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要。 例如,可以在crontab文件中设置如下形式,忽略日志输出:
    0 3 * * *  /bin/bash  /usr/local/sbin/123.sh >/dev/null 2>&1
    “/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。

    3.etc/crontab解释
    ----------
    SHELL=/bin/bash
    #SHELL变量指定了系统要使用哪个shell,这里是bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    #PATH变量指定了系统执行命令的路径
    MAILTO=root
    #MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户
    # 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    //星期,0或7都表示周日,也可以写成英文的简写
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed    //用户,不写用户就是root 最后一列,是你要执行的命令
    星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
    逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
    中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
    正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

    #为什么没有年份?
    #用星期确定你的唯一性,比如说今年的6月18号和明年的6月18号的星期肯定是不同的,这样就可以确定某一天的唯一性
    ----------
    4.注意事项

    1. 注意环境变量问题
    # 脚本中涉及文件路径时写全局路径;
    # 脚本执行要用到java或其他环境变量时,通过source命令引入环境变量:source /etc/profile
    2.命令的执行最好用脚本
    3.脚本权限加/bin/sh,规范路径/server/scripts
    4.时间变量用反斜线转义,最好用脚本
    5.定时任务添加注释
    6.>/dev/null 2>&1   ==>&>/dev/null,别随意打印日志文件
    7.定时任务里面的程序脚本尽量用全路径
    8.避免不必要的程序以及命令输出
    9.定时任务之前添加注释
    10.打包到文件目录的上一级

  • 相关阅读:
    S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
    S5PV210启动过程分析
    总结:ARM逻辑和高级C(朱老师物联网学习)
    C语言笔记(数组地址一些细节)
    shell脚本和常用命令
    ansible
    firewalld
    LAMP架构上线动态网站WordPress
    LNMP架构上线动态网站
    Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
  • 原文地址:https://www.cnblogs.com/lazy-sang/p/11848795.html
Copyright © 2011-2022 走看看