cronatab周期性任务定时计划器

Crq
Crq
Crq
532
文章
0
评论
2024年9月14日11:00:06
评论
11 1319字阅读4分23秒

要执行周期性任务,要保证服务运行。服务名为crond;service crond start ; systemctl start crond;

配置文件

/etc/crontab

cron的日志文件

cat /var/log/cron

简介

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

任务调度的分类

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

系统任务调度

通过编辑配置文件/etc/crontab,以下图的格式标明需要运行的时间即可。一行对应一个任务,格式如下图。

用户任务调度

在当前用户下使用命令crontab -e,会以当前用户的身份建立任务调度。与系统任务调度文件格式不同的是不需要指名以哪个用户的身份运行。

时间表示

指定值:指定具体的数字

范围值:* 表示每,每到这这个时间段执行一次任务。

离散取值:10 2,3,4 * * *;每天的2,3,4点的10分执行一次。(总共执行了3次)

连续范围: 10 2-10 * * *;每天的2点10分到10点10分分别执行(总共执行了8次)

步长范围:/3 * * ;每分钟内执行3次(即每20秒执行一次)

举例:

10 10 /6 * *;每6天的10点10分执行一次任务

日期与星期

10 10 1-10 * 0,6 #每个月的1-10号的10点10分,或者周六日的10点10分都执行

举例:

1 1 /6 * root echo "hello word " ;每隔6天的1点1分执行一次任务。

1 1-10/3 * * * root echo “hello word”;在每天1-10点范围内每3小时内的第一分钟执行一次

创建周期性任务

crontab -e

* * * * * /bin/echo "`date +\%F \%H:\%M:\%S`"

#命令要写绝对路径。除非标明变量

#如果在用户下新建crontab的话%需要转义

创建时的其他设置

创建周期性任务时,默认的编辑器为vi所以没有语法高亮。可以通过以下办法将默认编辑器修改为vim

#写入/etc/porfile.d 对所有用户生效

#写入~/bash_profile 对当前用户

export EDITOP=vim

创建任务的权限

允许指定用户创建任务

cat /etc/cron.deny #在文件内写入用户名,使其不能创建新任务,但已创建的依然会执行

拒绝指定用户创建任务

cat /etc/cron.allow #默认文件不存在

允许与拒绝优先级

如果allow文件存在,那么deny文件不生效。

如果allow为空,拒绝所有用户

如果allow、deny都不存在,任何用户不能创建计划任务

实现毫秒、秒级别的周期性任务

利用usleep实现微妙级别的运行

usleep 1000000;1秒

usleep 1000;1毫秒

usleep 1;1微秒

利用循环体加sleep实现秒级别的。在每分钟要执行的任务中sleep20秒。

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2024年9月14日11:00:06
  • 转载请注明:https://www.cncrq.com/10716.html
iproute 安装包中 12个  ip 常用命令 Linux教程

iproute 安装包中 12个 ip 常用命令

一年又一年,我们一直在使用 ifconfig 命令来执行网络相关的任务,比如检查和配置网卡信息。但是ifconfig 已经不再被维护,并且在最近版本的 Linux 中被废除了! ifconfig 命令...
鸡兔同笼——算法详解 Linux教程

鸡兔同笼——算法详解

借助李开复老师的话来聊聊算法的重要性:“算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种...
用完让你跑路的Linux命令! Linux教程

用完让你跑路的Linux命令!

蜘蛛侠有这样的一句信条,“权力越大,责任越大。” 对于 Linux 系统管理员们来说,这也是一种应当采用的明智态度。不,真的,真心感谢 DevOps 的沟通协作和云编排技术,让一个...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: