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

写在前面

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

命令注解

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

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

相关推荐

  • linux初学

    计算机的组成及其功能。现代计算机体系将计算机分为控制器、运算器、存储器、输入设备和输出设备5个部分控制器:控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,并根据具体要求进行控制、调度程序、数据、地址,协调计 算机各个部分工作,协调计算机各部分工作及内存、IO设备等的访问运算器:运算器是对数据进行各种算数运算和逻辑运算也就是对数据进行加工,…

    Linux干货 2018-02-25
  • Linux下常用压缩工具总结

    gzip: 1)只能针对普通文件进行压缩,对文件夹、符号链接无效。 2)如果想对多个文件一起压缩并打包,gzip是无法办到的,需要结合tar进行 [root@mysql-master databackup]# ll 总用量 32 drwx—— 2 root root 4096&nb…

    Linux干货 2016-12-05
  • 高级文件系统管理

    高级文件系统管理 一、如何创建新的swap分区  答:1.在/dev/sdc上创建新的分区。并使得ID为82的linux swap;类型。   2.创建文件系统 mkswap  -L  SWAP_SDC1  /dev/sdc1     3.在/etc/fstab中进行修改   4…

    Linux干货 2016-08-30
  • 系统启动和内核管理以及几个重要实验

    Centos启动流程:     1.加载BIOS的硬件信息,获取第一个启动设备     2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息     3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备 &n…

    Linux干货 2017-05-15
  • shell编程、yum的使用

    shell编程、yum的使用 一、shell编程 1、while的特殊使用 while 循环的特殊用法(遍历文件的每一行): while read line; do      循环体 done < /PATH/FROM/SOMEFILE   依次读取/PATH/FROM/SOMEFILE 文件…

    Linux干货 2016-08-21
  • 自制Linux

    1. 分区出来两个区 fdisk /dev/sdb     2. 创建文件系统   [root@localhost ~]# mkfs.ext4 /dev/sdb1  [root@localhost ~]# mkfs.ext4 /dev/sdb2 3.…

    Linux干货 2016-09-16

评论列表(1条)

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

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