zoukankan      html  css  js  c++  java
  • centos8上使用crond

    一,查看crond的状态:

    [root@yjweb crontab]# systemctl status crond

    说明:和其他service的执行相同:

    启动:systemctl start crond
    停止:systemctl stop crond

    说明:crond服务一般linux系统会默认安装,

    如果不存在,可以用这个命令安装:

    [root@yjweb crontab]# yum install crontabs

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,crond的日志位于何处?

    默认位于/var/log目录下,cron打头

    [root@yjweb crontab]# ll /var/log/cron*
    -rw------- 1 root root 35831 Mar  6 14:01 /var/log/cron
    -rw------- 1 root root 45705 Feb  9 03:01 /var/log/cron-20200209
    -rw------- 1 root root 45596 Feb 16 03:01 /var/log/cron-20200216
    -rw------- 1 root root 45227 Feb 23 03:01 /var/log/cron-20200223
    -rw------- 1 root root 45429 Mar  1 03:01 /var/log/cron-20200301

    三,crond的配置命令:

    1,编辑配置

    [root@yjweb crontab]# crontab -e

    2,查看已添加的定时任务:

    [root@yjweb crontab]# crontab -l

    四,crontab命令编辑后的配置保存在哪里?

    位于 /var/spool/cron这个目录下,

    如果用root账户配置了定时任务,则可以看到有一个root文件:

    [root@webserver1 cron]# ls /var/spool/cron/
    root  webop
    [root@webserver1 cron]# more /var/spool/cron/root

    此处即为我们所添加的定时任务

    五,crontab中命令的格式:

    查看/etc/crontab文件可以看到crontab所定义的命令格式:

    [root@yjweb crontab]# more /etc/crontab
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=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
    # |  |  |  |  |
    # *  *  *  *  * user-name  command to be executed

    说明:5个*分别代表:

    分钟

    小时

    周几

    六,看例子:

    1,每天的0点0分,执行一个切分日志的脚本程序

    0 0 * * * sh /data/web/cmd/split_log_shell/splitlog.sh >> /data/logs/cronlogs/splitlog.log 2>&1

    2,每15分钟,执行一个检查php日志中是否出现报错的程序

    */15 * * * * /data/software/php7/bin/php /data/web/cmd/check_php_error/check_error_for_php_log.php >> /data/logs/cronlogs/checkphperror.log 2>&1

    3,在指定的分钟,运行一个导出数据的脚本

    0,15,30,45 * * * * sh /usr/sbin/backupMysql.sh >> /data/logs/cronlogs/backupmysql.log 2>&1 

    说明: 2>&1的作用:把shell的错误输出2也转为输出到正常输出1,

              否则如果程序运行出错时,错误信息不会被记录到命令行上所添加的日志文件中

    七,生产环境中使用crond值得注意的地方:

    应该有一个保存cron输出内容的日志目录,

    用来记录下crond运行时的情况,

    把数据输出到这里

    crond自身的日志只记录了在相应的时间程序是否有执行,没有执行情况的反馈

     创建cron的日志目录

    [root@yjweb crontab]# mkdir /data/logs/cronlogs
    [root@yjweb crontab]# chmod 777 /data/logs/cronlogs/

    八,查看当前crond的版本

    [webop@yjweb ~]$ crontab -V
    cronie 1.5.2
    [webop@yjweb ~]$ crond -V
    cronie 1.5.2

    说明:用crontab crond两个命令均可

    因为它们属于同一个安装包

    用下面的命令可以查看:

    [webop@yjweb ~]$ rpm -ql cronie

    九,查看本地centos的版本:

    [webop@yjweb ~]$ cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core) 
  • 相关阅读:
    集群架构搭建
    THUWC2019 游记
    【集训队互测2015】未来程序·改
    [NOIP2014普及组T1]珠心算测验
    [CF912D]Fishes
    [POJ2409]Let it Bead
    golang 统计系统测试覆盖率
    tcpdump常用方法
    数学闯关引发的思考
    linux lsof常用方法
  • 原文地址:https://www.cnblogs.com/architectforest/p/12435344.html
Copyright © 2011-2022 走看看