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

写在前面

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

命令注解

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

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

相关推荐

  • ​文件系统层级结构标准

    多数Linux发行版遵从FHS标准并且声明其自身政策以维护FHS的要求。 [1] [2] [3] [4] 然而,包括由自由标准小组成员在内开发的绝大多数发行版(截至2009年),并不完全执行建议的标准。
    当FHS创建之时,其他的UNIX和类Unix操作系统已经有了自己的标准,尤其是hier(7)文件系统布局描述。 自从第七版Unix(于1979年)发布以来已经存在,或是SunOS filesystem(7), [5] 和之后的Solaris filesystem(5)。 例如,Mac OS X使用如 /Library、 /Applications和/Users 等长名与传统UNIX目录层次保持一致。
    现在的Linux发行版包含一个/sys目录作为虚拟文件系统(sysfs,类似于 /proc,一个procfs),它存储且允许修改连接到系统的设备,然而许多传统UNIX和类Unix操作系统使用/sys作为内核代码树的符号链接。
    一些Linux系统如GoboLinux和Syllable Server使用了和FHS完全不同的文件系统层次组织方法。

    Linux干货 2016-10-17
  • haproxy

    12.1 高性能负载均衡软件HAProxy介绍 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性要求越来越高,高可用集群、负载均衡集群成为一种热门的系统架构解决方案。在众多的负载均衡集群解决方案中,有基于硬件的负载均衡设备,例如F5、Big-IP等,也有基于软件的负载均衡产品,例如HAProxy、LVS、Nginx等。在软件的负载均衡产…

    2018-01-03
  • N26-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -a /etc/skel   /home/tuser1 [root@localhost ~]# chmod go-r  -R /home/tuser…

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

    磁盘管理     设备文件         I/O Ports: I/O设备地址         一切皆文件:     …

    Linux干货 2016-09-01
  • Liunx获取信息帮助与man文档章节的划分

    首先要判断命令的类型,可用 type COMMAND 来判断命令 如果显示结果为(….是 shell内嵌)即为shell内嵌命令,如需获取帮助,使用 help COMMAND 即可; 下图的例子是pwd是shell内嵌命令 内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指…

    2017-07-02
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18

评论列表(1条)

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

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