Linux怎么使用crontab设置定时任务

Linux怎么使用crontab设置定任务

定时任务介绍和使用

  • 让系统在将来的指定时间点执行某些任务(程序)
  • 可以周期性执行也可以仅仅执行一次

系统计划任务配置相关文件:

/etc/cron.d/
/etc/cron.d/0hourly 系统每小时第一分钟需要执行的任务
/etc/cron.deny 用户拒绝列表(在该文件中的用户不能使用cron服务)
/etc/crontab 该文件的作用相当于/etc/cron.d/下面的某一个文件,可以定义系统计划任务
/etc/cron.monthly/ 存放系统每个月需要执行的脚本
/etc/cron.weekly/ 存放系统每周需要执行的脚本
/etc/cron.daily/ 存放系统每天需要执行的脚本
/etc/cron.hourly/ 存放系统每小时需要执行的脚本
/var/spool/cron 这个目录用来存放各个用户自己设定的定时任务,普通用户没有权限直接访问

计划任务周期编写:
在这里插入图片描述

* * * * * 
前5个字段分别表示:
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
星期:0-7(0表示周日或者7表示周日)

一些特殊符号:
, 表示分割,间隔
- 表示一个段
/n 表示每个n的单位执行一次

run-parts:
crond用这个工具来执行某个目录下所有的可执行脚本,定时任务中的每小时/每天/每周/每月任务就是通过这个工具来触发
的.

创建、查看、删除计划任务

  1. 修改配置文件 /etc/crontab 管理员root----> 指定执行任务用户
  2. 让用户自己使用命令创建 crontab

用户编辑自己的定时任务

crontab -e 编辑当前用户自己的定时任务(使用环境变量EDITOR指定的默认编辑器)
crontab -l 列出当前用户自己所有的定时任务
crontab -r 删除当前用户自己所有的定时任务

在这里插入图片描述
管理员编写其他用户的定时任务

crontab -e -u redhat 编辑指定用户的定时任务(使用环境变量EDITOR指定的默认编辑器)
crontab -l -u redhat 列出指定用户所有的定时任务
crontab -r -u redhat 删除指定用户所有的定时任务

案例

礼拜1和礼拜3每隔2个小时去执行一个任务

00 */2 * * 1,3   [执行任务命令]

每个月的1号到15号,和25号的早上8:00到晚上6:00每隔2小时执行一个任务

00 08-18/2 1-15,25 * *   [执行任务命令]

版权声明:本文为weixin_45568391原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。