• centos定时任务crontab


     1、简介

    crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似。任务调度分为两类:系统任务调度和用户任务调度。

    系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。

    用户自己设置的计划任务则使用crontab 命令。

    [root@localhost sugon]# crond --help
    crond: invalid option -- '-'
    Usage:
     crond [options]
    
    Options:
     -h         print this message
     -i         deamon runs without inotify support
     -m <comm>  off, or specify prefered client for sending mails
     -n         run in foreground
     -p         permit any crontab
     -P         use PATH="/usr/bin:/bin"
     -c         enable clustering support
     -s         log into syslog instead of sending mails
     -x <flag>  print debug information

    2、系统定时任务

    系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc/crontab文件,这个就是系统任务调度的配置文件。可添加定时任务,这里我使用命令:gedit  /etc/crontab来查看并添加定时任务,下面是文件内容。

    注:系统定时任务是通过系统服务crond执行的,该服务默认开机启动。

    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

    3、用户的定时任务

    用户定时任务的设定执行,我们需要使用到crontab服务,使用时要启动服务crond,crond服务通过crontab命令实现。

    yum install crontabs  #安装crontab

    由于crontab要用到crond服务,所以服务相关操作需要了解:

    systemctl start crond  #启动服务
    systemctl stop crond  #关闭服务
    systemctl restart crond  #重启服务
    systemctl reload crond  #重新载入配置
    systemctl status crond  #查看服务状态
    ntsysv  #查看开启启动项
    systemctl enable crond  #加入开机启动项

    1- 看下crontab命令介绍

    [root@localhost sugon]# crontab --help
    crontab: invalid option -- '-'
    crontab: usage error: unrecognized option
    Usage:
     crontab [options] file
     crontab [options]
     crontab -n [hostname]
     
    Options:
     -u <user>  define user
     -e         edit user's crontab
     -l         list user's crontab
     -r         delete user's crontab
     -i         prompt before deleting
     -n <host>  set host in cluster to run users' crontabs
     -c         get host in cluster to run users' crontabs
     -s         selinux context
     -x <mask>  enable debugging

    2- 用户定时任务添加

    命令:crontab -e

    注:格式同/etc/crontab文档格式。每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。

    例如添加脚本:*/5 * * * * root /home/crontab/check_sersync.sh > /dev/null 2>&1

    脚本解释:以root用户每5分钟执行脚本/home/crontab/check_sersync.sh,并将错误信息记录到/dev/null下。

    3- 用户定时任务查看

    使用命令:crontab -l,就可看到刚添加的脚本了

    4- 添加设置完成后,可重新载入配置,并重启下crond服务

    systemctl reload crond  #重新载入配置
    systemctl restart crond  #重启服务

    4、权限文件

    /etc/cron.deny:该文件中所列用户不允许使用crontab命令
    /etc/cron.allow:该文件中所列用户允许使用crontab命令
    /var/spool/cron/:所有用户crontab文件存放的目录,以用户名命名
    /var/log/cron:日志文件,执行后记录可在此文件中查看

    这篇就先写到这里,主要将centos定时任务总结,下一篇将解释,定时任务中参数含义与定义方法。

  • 相关阅读:
    Dropout: A Simple Way to Prevent Neural Networks fromOverfitting
    Write Custom Java to Create LZO Files
    Avro schemas are defined with JSON . This facilitates implementation in languages that already have JSON libraries.
    Storage Types and Storage Policies
    splittability A SequenceFile can be split by Hadoop and distributed across map jobs whereas a GZIP file cannot be.
    This means that only a small number of nodes must be read from disk to retrieve an item.
    Apache Kafka® is a distributed streaming platform. What exactly does that mean?
    (t,p,o) t:p>=o there cannot be more consumer instances in a consumer group than partitions
    Goldilocks
    Sqoop
  • 原文地址:https://www.cnblogs.com/pinpin/p/14312993.html
Copyright © 2020-2023  润新知