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

写在前面

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

命令注解

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

任务计划是在未来的某个时间点或周期性的时间点上执行我们预先设定好的可执行任务,让系统自动运行,而不用人工干预执行。这种执行也分为一次执行和周期性执行,一次执行最常用的要数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 21:02
下一篇 2017-12-30 14:42

相关推荐

  • N26 第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 演示:     [root@47d523181d25 /]# cp -r /etc/skel/ /home/tuser1     [root@47d523…

    Linux干货 2017-02-25
  • 磁盘管理

      磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的,它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序。   一磁盘分区     1为什么要分区?     •优化I…

    Linux干货 2016-09-02
  • 文本编辑三剑客之gawk

     awk 本章内容: awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 1.awk介绍 ★ Linux 文本处理工具三剑客:grep、sed、awk。其中grep是一种文本过滤工具;sed是文本行编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的…

    Linux干货 2016-09-24
  • 第一周作业

    1. 描述计算机的组成及其功能 CPU:CPU包括运算器和控制器,并采用大规模集成电路工艺制成的芯片,又称微处理器芯片。 运算器又称算术逻辑单元(Arithmetic Logic Unit简称ALU)。它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。 控制器负责从存储器中取出指令,并对指令进行译码;…

    Linux干货 2017-01-04
  • 一起学DNS系列(十四)DNS查询工具之DIG的使用(1)

      这几节主要讲2个常用的DNS的命令行诊断工具,分别是linux下的DIG和windows下的NSLOOKUP,我们首先来说DIG工具。 DIG,全称Domain Information Groper。原本是Linux平台上BIND服务器诊断的工具(已上传至附件),现在已经有了windows的版本,这节就是利用此工具在windows环境下来做一些…

    2015-03-17
  • 几个常用命令、inode及第二周作业

    一、cd命令 1、功能 用来进行不同目录间的切换,属于内部命令。 2、语法 cd  [-L|-P]  [dir] -L : 如果要切换到的目录是一个符号链接,就直接切换到符号链接名表示的目录(默认)。 -P : 如果要切换到的目录是一个符号链接,直接接切换到符号链接指向的目标目录。 3、用法说明 cd 或 cd ~ :进入当前用户的主目录…

    Linux干货 2016-08-02

评论列表(1条)

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

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