当前位置: 首页 > article >正文

linux系统定时任务管理

crontab使用

一、crontab简介

crontab 这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每周、每月或每年等。crontab 除了可以使用指令执行外,亦可编辑 /etc/crontab 来支持。 至于让 crontab 可以生效的服务则是 crond 这个服务。


二、crontab配置


  1)关于crontabcrond


  用到crontab那么就一定要知道crondcrondcrontab是不可分割的,crond我的理解是一个守护进程,或者说这才是我们定时任务的核心,crontab是一个编辑或者说是管理定时任务的工具crontab。我的理解就是crond服务处于启动状态,这个服务会默认每分钟去检测是否有需要执行的定时任务,所以crond不能守护秒级定时任务。而这个任务的具体内容是通过crontab来管理的。


  2)安装


  一般情况下crondcrontab是安装好的,这里主要提一下万一没有crontab你别想着直接用yum去安装crond或者crontab因为你会发现找不到包,其实定时任务的包是cronie

  yum install -y cronie   这样就行了
  关于crondcrondtab常用命令


  3crond常用命令


  systemctl start crond        启动服务
  systemctl stop crond         停止服务
  systemctl restart crond       重启服务
  systemctl reload crond         重载配置文件
  systemctl status crond         查看状态

4crontab常用命令


  crontab -u        设定某个用户的cron服务
  crontab -l        显示crontab文件(显示已设置的定时任务)
  crontab -e        
编辑crontab文件(编辑定时任务)
  crontab -r        
删除crontab文件(删除定时任务)
  crontab -i        
删除crontab文件提醒用户(删除定时任务)

  5)三种编辑定时任务的方式


  定时任务格式
  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
  
用户的定时任务分6,分别是:分,时,日,月,周,命令
  1列表示分钟159 每分钟用*或者 */1表示
  2列表示小时1230表示0点)
  3列表示日期131
  
4列表示月份112
  
5列标识号星期060表示星期天)
  6列要运行的命令
  *:表示任意时间都,实际上就是的意思。可以代表00-23小时或者00-12每月或者00-59
  -:表示区间,是一个范围,00 17-19 * * * cmd,就是每天17,18,19点的整点执行命令
  ,:是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21点的半点时刻执行命令
  /n:表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次


  1>直接编辑配置文件


  配置文件路径:/etc/crontab
  
在配置文件中,原本6个段的配置,我们需要在命令前面再加一个用户段
  即:分 用户 命令
  直接添加到最后一行即可


  2>使用crontab -e 命令编辑


  使用命令编辑相当于就是编辑当前用户的任务,所以不需要加用户字段,这里就是6
  * * * * * /home/wsj/scheduledTest.sh


  3>直接编辑目标文件


  进入/var/spool/cron
  
如果你执行了以上两种方式,你再进来看一下这个目录下的文件你可能会发现一点问题
  这里的文件都是以用户名来命名的,你再打开你使用crontab -e 添加过任务的用户文件,原来crontab -e编辑的就是这里的文件,所以我们如果需要为哪个用户添加任务,只用编辑这个目录下对应用户的文件即可


  4>实例


  * * * * *                 1分钟执行一次
  15,30,45 * * * *         每小时的第153045分执行
  15,30 10-11 * * *         在上午10点到11点的第15和第30分钟执行
  * */2 * * *                 每两个小时执行一次
  5>相关文件
  #该文件中所列用户不允许使用crontab命令
    /etc/cron.deny
  #
该文件中所列用户允许使用crontab命令
    /etc/cron.allow
  #
所有用户crontab文件存放的目录,以用户名命名
    /var/spool/cron/
  # crond
日志文件
    /var/log/cron


http://www.kler.cn/a/232673.html

相关文章:

  • 【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )
  • 量化交易系统开发-实时行情自动化交易-3.4.2.2.Okex交易数据
  • ubuntu连接orangepi-zero-2w桌面的几种方法
  • MFC工控项目实例二十九主对话框调用子对话框设定参数值
  • 【计算机网络】UDP网络程序
  • Could not initialize class sun.awt.X11FontManager
  • 多线程JUC:线程池原理、自定义线程池详细解析
  • 设计模式巡礼:多板适配案例解析与深度重构
  • 熔断机制解析:如何用Hystrix保障微服务的稳定性
  • abap - 发送邮件,邮件正文带表格和excel附件
  • 年底我被裁了,大环境不好?
  • 【芯片设计- RTL 数字逻辑设计入门 14 -- 使用子模块实现三输入数的大小比较】
  • router路由跳转的两种模板2.0版本
  • 2.2-学成在线内容管理之课程分类查询+新增课程
  • Linux 36.2@Jetson Orin Nano之Hello AI World!
  • 蓝桥杯刷题day06——平均
  • Peter算法小课堂—枚举优化
  • 前端工程化之:webpack3-5(css module)
  • Redis(十二)Bigkey
  • Qt信号和槽机制(什么是信号和槽,connect函数的形式,按钮的常用信号,QWidget的常用槽,自定义槽函数案例 点击按钮,输出文本)
  • 基于 Python opencv 的人脸识别的酒店客房入侵系统的检测
  • 电脑服务器离线安装.net framework 3.5解决方案(错误:0x8024402c )(如何确定当前系统是否安装NET Framework 3.5)
  • STM32学习笔记——定时器
  • 力扣36.有效的数独
  • AD9361多片同步设计方法
  • Android Studio 安装Flutter插件但是没法创建项目