zoukankan      html  css  js  c++  java
  • linux定时运行命令脚本crontab

    简介

    Linux中,周期执行的任务一般由cron这个守护进程来处理  ps -ef | grep cron 

    cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。

    cron的配置文件称为“crontab”,是“cron table”的简写。

    1、/var/spool/cron/ 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户hdfs建的crontab任务对应的文件就是/var/spool/cron/hdfs

    [root@el-hadoop-1 cron]# ll
    total 4
    -rw------- 1 hdfs hdfs 2185 Dec 31 17:11 hdfs
    [root@el-hadoop-1 cron]# pwd
    /var/spool/cron
    一般一个用户最多只有一个crontab文件(如:root, hdfs等),
    其对应日志在/var/spool/mail/(或/var/spool/mail/hdfs)文件里,实际上它这个文件夹里边不会记录它的日志,只能自己指定目录。

    /etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

    [root@el-hadoop-1 spool]# vim  /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
    # |  |  |  |  |
    # *  *   *   *   *

    cron服务

      cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
      /sbin/service crond start    //启动服务
      /sbin/service crond stop     //关闭服务
      /sbin/service crond restart  //重启服务
      /sbin/service crond reload   //重新载入配置
      /sbin/service crond status   //查看服务状态 

    crontab用法 

    crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格,用户把需要执行的命令序列放到crontab文件中以获得执行。
    每个用户都可以有自己的crontab文件,/var/spool/cron下的crontab文件不可以直接创建或者直接修改,该crontab文件是通过crontab -e命令创建的

    在crontab文件中如何输入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

    "/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
    -l 在标准输出上显示当前的crontab。 
    -r 删除当前的crontab文件。 
    -e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。

    比如:

    10 6 * * * echo "Good morning Hello World." > /tmp/test.txt   #每天早上6点10分,echo会输出到/tmp/test.txt这个文件里边,记录它的日志;
    >是覆盖,>>是以追加的形式写入; */1 * * * * echo "Have a break now." >> /tmp/test.txt #每1分钟执行一次; 0 */2 * * * echo "Have a break now." >> /tmp/test.txt #每2h执行一次;

    10 1 * * * /home/hopson/apps/acitve_analysis.sh &>> /tmp/logs/acitve_analysis.log

  • 相关阅读:
    索引有什么用?
    数据类型的优化策略?
    MySQL的锁策略有什么?
    行锁
    Innodb_lock_waits
    Innodb_locks表
    软件安装笔记
    Spring Boot学习笔记
    AI学习总结
    笔试面试题总结
  • 原文地址:https://www.cnblogs.com/shengyang17/p/12131985.html
Copyright © 2011-2022 走看看