linux 的定时任务crontab


背景:
本人博客的评论为 valine 评论,为了及时知道评论,设置了邮件通知。奈何 leancloud 的每天活跃状态为 16 小时,且半小时内无人访问,则自动进入休眠状态。为了解决这一问题,研究了下 linux 系统自带的 crontab 定时器,通过 定时访问评论网站 去解决这一问题。

一、认识 crond 服务基本命令

1>安装 crontab:

yum install crontabs

2>查看 crontab 服务状态:

service crond status

3>手动启动 crontab 服务:

service crond start

4>设置开机自动启动:

//查看是否已经设置为开机启动
ntsysv;

//设置为开机启动

5>常用的命令行

//启动服务
service crond start

//关闭服务
service crond stop

//重启服务
service crond restart

//重新载入配置
service crond reload

//查看crontab服务状态
service crond status

//列出所有的crontab 任务
crontab -l

//编辑定时任务【删除-添加-修改】
crontab -e

//删除定时任务
crontab -r

二、创建一个定时任务

1>列出定时任务

crontab - l; //如果无定时任务

2>新建定时任务

执行如下命令,打开 crontab 定时任务编辑界面,按 I 键进入编辑模式。

crontab - e;

3>添加定时任务

设置上午 9 点到凌晨 1 点,每 30 分钟访问一次网站。关于定时任务表达式不懂的去网上搜下。注意 linux 与 下的 crontab 是有些差异的,搜索的时候应当带上 linux。本人就入坑了。

*/30 0,1,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * /usr/bin/curl https:www.baidu.com

三、定时任务表达式

1>格式

字段名                 允许的值                        允许的特殊字符
秒                    0-59                            , - * /0-59                            , - * /
小时                  0-23                            , - * /1-31                            , - * ? / L W C
月                    1-12 or JAN-DEC                 , - * /
周几                  1-7 or SUN-SAT                   , - * ? / L C #
年 (可选字段)          empty, 1970-2099                 , - * /

2>说明

Month
一年中的几月:可以用 0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示

Day-of-Week
每周:数字 1-7(1 = 星期日),或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”

* :代表整个时间段
? :表示不确定的值
, :指定数个值
- :指定一个值的范围
/ :指定一个值的增加幅度。n/m表示从n开始,每次增加m
L :用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
W :指定离给定日期最近的工作日(周一到周五)
# :表示该月第几个周X。6#3表示该月第3个周五

3>举例

*/5 * * * * ?  每隔5秒执行一次
0 */1 * * * ?  每隔1分钟执行一次
0 0 23 * * ?  每天23点执行一次
0 0 1 * * ?  每天凌晨1点执行一次:
0 0 1 1 * ?  每月1号凌晨1点执行一次
0 0 23 L * ?  每月最后一天23点执行一次
0 0 1 ? * L  每周星期天凌晨1点实行一次
0 26,29,33 * * * ?26分、29分、33分执行一次
0 0 0,13,18,21 * * ? 每天的0点、13点、18点、21点都执行一次

三、定时任务相关网站推荐

image.png

image.png


文章作者:   leader755
版权声明:   本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 leader755 !
评论
 本篇
linux 的定时任务crontab linux 的定时任务crontab
背景:本人博客的评论为 valine 评论,为了及时知道评论,设置了邮件通知。奈何 leancloud 的每天活跃状态为 16 小时,且半小时内无人访问,则自动进入休眠状态。为了解决这一问题,研究了下 linux 系统自带的 cronta
2021-05-16
下一篇 
linux安装 docker linux安装 docker
1、安装前置条件docker 要求 Linux 内核要 3.0 以上版本,如果 centos6.x 内核是 2.x,需要升级 linux 内核 2、安装步骤1)升级本地 yum 包yum update 2) 安装工具集yum install
2021-05-05
  目录