第五周学习总结–任务计划

写在前面

随着学习的不断深入,渐渐的已经意识到不再是开始一天只知道几个简单的命令而已了,但是呢,命令还必须要继续学习的,修房子哪有不用砖的,所以,要想有一栋坚实稳固的房子,还必须静下心来继续认识命令。

命令注解

今天要讲的几个命令是跟工作息息相关的,他们都是在以后的生活中使用率比较高的命令之一,比如马上要讲的这个,如果你的老板让你在每天凌晨三点执行一次数据备份,你难道真的三点起床备份完再去睡觉么?我想你肯定不想也不希望这样,那么下面这个命令就要学好了。

任务计划是在未来的某个时间点或周期性的时间点上执行我们预先设定好的可执行任务,让系统自动运行,而不用人工干预执行。这种执行也分为一次执行和周期性执行,一次执行最常用的要数at命令,而周期性的执行命令则是crontab。  at的使用方法也非常简单,基本的使用方法为:

at [OPTIONS] TIME

常用选项:

  • -l:用于查看作业队列;
  • -f  FILE_NAME:从指定文件中读取作业任务;
  • -d #:删除指定的作业;
  • -c:查看指定作业的具体内容;
  • -q QUEUE:指明队列

at命令允许使用一套相当灵活的指定时间的方法。能够接受hh:mm(小时:分钟)式的时间指定,也能够使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的时间来指定。用户还能够采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午,还能够指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。 上面介绍的都是绝对计时法,其实at还支持使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units ,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。因此TIME的格式有如下常用指定方法:

  • HH:MM:在今日的 HH:MM 时刻进行,若该时刻已超过,则明天的 HH:MM 进行此任务;
  • HH:MM YYYY-MM-DD:在某年某月的某一天的特殊时刻进行该项任务;
  • noon,midnight,teatime:指定模糊的时间方式;
  • tomorrow:直接指定明天;
  • now+#[minutes|hours|days|weeks]:从现在开始以后的多长时间;

另一个任务计划则是周期性的执行任务crontab命令,cron分为系统任务和用户任务,系统任务主要是用于系统自身的维护,而用户任务则是用户自定义的为了完成某一特定的工作。所有用户定义的任务都被保存在 /var/spool/cron目录中与用户名同名的文件中,每一行代表一个任务计划,共有六个字段,前五个字段是时间,最后一个是命令段:

501

在以上的时间段中,可以有如下取值方法:

  • 特定值:给定时间点有效取值范围内的值;
  • *:给定时间点上有效取值范围内的所有值:表“每……”;
  • ,:给定时间点上使用逗号分隔的多个值;
  • -:在时间点上使用-连接开头和结束,表示一个范围;
  • */#:在指定时间点上,定义步长,#即步长;

cron任务还可以通过命令行的方式指定,即使用crontab命令:

crontab [OPTIONS]

常见的有如下选项:

  • -e:编辑任务;
  • -l:列出所有任务;
  • -r:移除所有任务;
  • -i:在使用-r选项移除所有任务时提示用户确认;
  • -u user:root用户可为指定用户新建cron任务;

使用练习

有了上面的储备知识,还是来练习提升一下吧。

1、制定每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-
28 10:00:00。

使用crontab -e打开命令行操作窗口,完成如下信息输入:

502

503

写在最后

上面的内容只是作了简单的介绍,练习也只贴出了一个,如果您觉得不够尽兴,可以通过网络途径获取更多练习,提升一下自己。

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90613

(0)
虫草君虫草君
上一篇 2017-12-28
下一篇 2017-12-30

相关推荐

  • 马哥教育网络班21期+第1周课程练习

    (一)计算机的基础认识       1. 冯诺依曼体系:          运算器(ALU Arithmetic Logical Unit):完成算数和逻辑运算。          控制器(CU Control Unit):发出各…

    Linux干货 2016-07-07
  • linux哲学思想

    有关运维,在哲学上的思想。 正确的哲学思想在我看来就是公理,就是像1+1=2一样大家都必须得遵守的公理。 当然,所有的公理都是有前提的,而有关linux的哲学思想当然是在linux环境这个大前提下。才是公理。在我看来,公理就是在学习知识之前所要依靠的准则,linux下的一切都在这些准则下。 比如: 一切接文件  linux下所有都是以文件的形式保存…

    2017-07-22
  • 计算机组成原理

                                 计算机组成原理 Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于…

    Linux干货 2016-10-27
  • pam_mysql认证ftp虚拟用户账号

    pam_mysql认证ftp虚拟用户账号: 虚拟用户:        用户账号存储于何处?        文件、MySQL、Redis、…       &nb…

    2017-06-13
  • 8月3日课堂笔记

    课堂笔记 linux用户和组管理(非常非常重要)    用户管理和组管理各种相关的应用程序    简单的管理命令 安全上下文:   每次对主机操作都是以发起一个进程来完成的,进程代表着人来执行操作,进程以其发起者的身份来运行;所以开机时有很多守护类的进程,我们应该以普通身份来运行,普通用户通常都是系统用户;从来不用登陆系统的;进程对文件的访问权限,取决于发起…

    Linux干货 2016-08-04
  • 进程管理

    进程管理 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能 用户模式(空间),内核模式(空间) Process(进程):运行中的程序的一个副本         存在生命周期 task struct:内核的结构体 Linux内内核存储进程信息的固定格式:tas…

    Linux干货 2016-09-10

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-07 18:06

    赞~内容上虽然不多,但有自己的思考点在里面~还是不错的,继续加油~