Linux设置定时任务

1、crond服务管理与访问控制

  • Linux系统由 cron (crond,d守护进程的意思) 这个系统服务来控制定时任务,默认启动。控制计划任务的命令:crontab 命令。
  • service crond start:启动服务
  • chkconfig crond on:设置开机启动
  • chkconfig --list | grep crond:查看crond是否开机自启动
  • ps aux | grep crond: 查看crond进程

2、用户的crontab设置

  • crontab -e UserName:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab定时任务
    • 示例:每天23:30分执行/opt下的deldata.sh脚本:crontab -e进入编辑模式:

  • crontab -l UserName:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab定时任务


  • crontab -r UserName:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件


3、crontab文件的含义

  • crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段
  • 格式如下:minute hour day month week command,不同参数对应相同位置的*,定时执行脚本放到文件内
  • 详解:

minute:表示第几分钟,可以是从0到59之间的任何整数
hour:表示第几小时,可以是从0到23之间的任何整数
day:表示第几天,可以是从1到31之间的任何整数
month:表示第几个月,可以是从1到12之间的任何整数
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件

  • 使用以下特殊字符:

星号(*):代表任何时间,比如第一个‘*’就代表一小时中每分钟都执行一次

逗号(,):代表不连续时间,比如第二个位置为:1,3,5,12代表每天1点、3点、5点、12点都执行一次命令

中杠(-):代表连续的时间范围,比如:0 5 * * 1-6,代表在周一到周六的凌晨5点0分执行命令

正斜线(/):代表每隔多久执行一次,例如:*/10,如果用在minute字段,表示每十分钟执行一次

  • 示例:

原文地址:https://www.cnblogs.com/zhufeng123/p/11922466.html