美文网首页
Linux例行性工作

Linux例行性工作

作者: 凹凸曼_ebb9 | 来源:发表于2017-11-08 23:10 被阅读0次

Linux工作调度的种类:at,cron

两种工作调度的方式:

1、一种是突发性的,这次昨晚就不会在做,也就是单次执行的工作

2、另一种是例行性的,也就是没过一段时间就会执行一次的工作

at:可以处理只执行一次的指令

crontab:crontab这个命令所设置的命令会一直执行下去。

实际运行单一工作调度

at [-mldv] Time

执行at会进入所谓的at shell环境,从而执行多条命令

atq:查询目前主机上有多少的at工作调度

atrm[jobnumber]删除某个工作

batch:系统有空时才进行后台任务,有空的意思是说它会在CPU工作负载小于0.8的时候,才会进行你所执行的工作

循环执行的例行性工作调度

Linux通过crontab来进行循环的例行性工作调度,当用户使用crontab这个命令来新建工作调度之后,该项工作就会被记录到/var/spool/cron/里面,而且是以账号来作为判别的。

crontab的语法:

crontab [-u username] [-l|-e|-r]

-u:只有root才能执行这个任务,也即帮其他用户新建/删除crontab工作调度

-e:编辑crontab的工作内容

-l:查阅crontab的工作内容

-r:删除所有的crontab的工作内容,若仅仅需要删除一项,则用-e去编辑即可

若第一次执行crontab,则需要编辑crontab的配置方式,可通过命令select - editor来修改

举例:用dmtsai的身份在每天的12:00发信给自己

crontab -e进入编辑模式

0          12      *          *         *    mail dmtsai  -s  "at 12:00"</home/dmtsai/.bashrc

分         时     日        月        周 <==============命令串=================>

*(星号):代表任何时刻都接受

,(逗号):代表分割时间段,举例0    3,6    *   *    *代表要执行的工作时间为3:00和6:00

-(减号):代表一段时间范围内

/n(斜线):代表每个n个单位,举例来说  */5     *    *     * command就代表每5分钟执行一次

系统的配置文件:/etc/crontab

crontab -e是针对用户的cron来设计的,如果是系统要执行的crontab,则只要编辑/etc/crontabb这个文件即可

通过cat /etc/crontab查看其内容

可以看到和用户的crontab -e不同的是,在执行时间后面加了一个执行身份的选项

下面我们再来说一下run-parts,run-parts的功能是执行后面所跟目录里的所有文件,因此对于/etc/crontab来说,它有两种执行命令的方式:1、直接执行命令,eg:01 * * * dmsai mail -s "testing" kiki < /home/dmtsai/text.txt  2、以目录方式执行,eg:*/5 * * * * root run-parts /root/runcron

可唤醒停机期间的工作任务anacron

anacron并不是用来代替crontab的,anacron存在的目的是处理非24小时为单位或者是在开机后立即进行anacron的操作,它会去检测停机期间应该进行但是没有进行的crontab任务,并讲该任务执行一遍然后anacron就会自动停止了。

cat /etc/anacrontab返回如下:

现在我们来解释一下第一行,它是这样运行的

1、由/etc/anacrontab分析到cron.daily这项工作名称的天数为1天;

2、由/var/spool/anacron/cron.daily取出最近一次执行anacron的时间戳;

3、由上个步骤与当前的时间比较,差异天数为1天以上(含1天),就准备执行命令;

4、若准备执行命令,根据/etc/anacrontab的设置讲延迟5分钟;

5、延迟时间过后,开始执行后续命令。

6、执行完毕后,anacron程序结束。

相关文章

  • Linux例行性工作

    Linux工作调度的种类:at,cron 两种工作调度的方式: 1、一种是突发性的,这次昨晚就不会在做,也就是单次...

  • Linux学习日记——例行性工作排程

    例行性工作排程可以理解为定时任务。主机自动在某时间开始固定的进程或者服务。Linux的工作排程有两种:at、cro...

  • cron与anacron

    cron cron 是 linux 中运行例行性工作的一个服务,守护进程是crond,是一个用于运行计划任务如系统...

  • 例行性任务(crontab)

    系统经常会主动执行一些任务,这些任务可能又分为“单一”工作与“循环”工作。 1、什么是例行性工作 有的工作是例行性...

  • 例行工作

    1、每天运动半小时(跑步),节假日除外。 2、每天读书2小时包括写随笔或日记 3、当天工作当天清完,不要拖到第二天...

  • Linux基础篇-第十五章-例行性工作排程(crontab)

    指令 Linux 工作排程的种类: at, cron at:at 是个可以处理仅执行一次就结束排程的指令,不过要执...

  • linux 命令笔记

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (cro...

  • linux crontab 定时任务格式和使用方法2019-01

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (cro...

  • 2022-11-29工作例行的必要性

    工作例行的必要性 2022年11月29日 星期二 我的工作若涉及到的具体内容包括两个部分:学习和与人交流。我应该每...

  • 炎炎八月

    又到月末,例行性的回顾小结。 进入八月,公司各项业务趋于平缓,前辈们都说这是例行性的淡季,Boss也催促大家尽快安...

网友评论

      本文标题:Linux例行性工作

      本文链接:https://www.haomeiwen.com/subject/hbprmxtx.html