定期执行任务的相关命令

作为一个linux系统运维师,在我们工作的时候需要定期去执行一些脚本或是命令,比如早上几点我们要开启什么服务,我们不可能守在计算机旁等到那个时候去手动执行那些需要脚本或是命令,万一我们没有按时赶到工作场所就会给我们的公司带来巨大的损失,鉴于此,linux给我们提供了一个很好的命令crontab。

在我们学习此命令之前我还会给大家介绍一个临时执行定期任务的命令,此命令只是在未来的时间段内执行一次。

一、在未来的某个时间仅执行一次

# at 和 # batch

时间表示法:

HH:MM(AM,PM)

MM/DD/YY

now + # (minutes,hours,days,weeks

[root@localhost ~]# at now+1minutes

at>

当输入 at now+1minutes 按回车之后会出现at> ,在这之后可以输入你要执行的命令或是脚本,输入完之后按crtl+d ,这些命令执行完之后,系统会给你发mail 。

[root@localhost ~]# at -l    列出任务列表 或是(atq)

2 2012-02-27 21:07 a root

[root@localhost ~]# at -r  2  可以删除未来要执行但尚未执行的任务(atrm job_num)

[root@localhost ~]# at -l      在查看一下列表发现任务以删除

[root@localhost ~]#

[root@localhost ~]# at  -f  1.sh now+1minutes  当是一个脚本的时候需要加-f

batch的方法和at的差不多,只是batch 在用的时候不需要指定时间,计算机会根据你的系统运行情况,在资源利用率低,闲下来的时候去执行你给出的命令。

二、定期执行任务的命令 (现在就开始讲今天的重点)

crontab是一个定期执行任务的命令,在使用的时候其实是在编译一个文件

其分为两类,

1. 用户cron     文件在 /var/spool/cron/USERNAME

2. 系统cron     文件在 /etc/crontab

我们先看一些文件中都有什么内容

[root@localhost ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

~

# run-parts

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

在这个文件中我们只要关注的是后四行,每一行可以分成7列,像下边的一样,分别表示对应的关系

01     *     *     *     *     root   run-parts /etc/cron.hourly

分钟  小时   天    月    周几   用户   命令或脚本

其中在普通用户中没有用户那一列,前五列都可以用数字表示,如果用 * 则表示“每”的意思

还有一些特别的表示方法:

非连续的时间点:

15,45  *  *  *  * 每小时的第15分钟和第45分钟执行一次

连续的时间点:

1  8—18  *  *  *  从8点到18点每小时执行一次

*/#

*/3  *  *  *  * 每隔三分钟执行一次

[root@localhost ~]# crontab -e   可以打开一个编译文件,这是普通用户

[root@localhost ~]# crontab -l   列出自己的任务计划

*/3 * * * * /sbin/hwclock -s

做为管理员可以为普通用户定义计划

#crontab -u name -e

其中在我们在执行命令之后在文件中写的命令,要把命令的路径给指出来,因为系统不识别,还要注意的是如果是一个脚本的话,脚本里的命令也要指出其全路径

我们可以通过如下命令来获取每个命令的路径

[root@localhost ~]# which useradd  查看其在那个目录里

/usr/sbin/useradd

[root@localhost ~]# rpm -qf /usr/sbin/crond  查看命令是由那个包安装之后实现的

vixie-cron-4.1-76.el5

我们在将一些其他的查看命令

[root@localhost ~]# chkconfig --list  查看服务列表

当我们学会了怎样运用crontab命令之后,我们思考一下,其实这个命令是有一些漏洞的,当我们的电脑关机之后,写在文件中的命令,电脑是不会执行的,也就是我们的定期任务不能顺利的完成,所以在有些时候会出现一些问题的。但我们的linux大多是作为服务器的,机器压根就不回随便的重启或是关机,所以这个命令已经足够对付我们工作是的任务了。

但为了满足一些linux各人发烧有的要求,在此我还是给大家说一个在我们的电脑关机之后系统仍然会执行定期任务的命令anacron,

anacron (即使电脑关机任务依然执行)只有定义了计划 才能启动其服务

其文件在/etc/anacrontab

1       65      cron.daily             run-parts /etc/cron.daily

1表示曾经过去多少天没有执行的任务  65系统开机多长分钟执行没执行的任务

今天除了这些之外我在给大家说一个小命令 hwclock

#hwclock -w 将date写入clock

-s 将clock写入date

date是当前系统的时间,有时候会不稳定,

clock貌似是 biso时间一般都是很稳定的,所以就有了上述的命令,来更改我们错乱的时间,也可以将一个命令写在定期任务里边,来使机器开启的时候自动校对时间。

*/3 * * * * /sbin/hwclock -s

转载于:https://blog.51cto.com/fengjunfei/791349

作为一个linux系统运维师必须掌握的定期任务执行命令cront相关推荐

  1. Linux系统运维必备技能

    浅谈Linux系统运维工程师必备技能 一.什么是运维工程师 相信读者们必定听说过linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operatio ...

  2. 民工哥折腾了2年多的《Linux系统运维指南》终于和大家见面了

    2018年3月,我与张老师就这么在微信上聊了起来,起初我并没有写书的打算,我们之间只是通过讨论.交流的形式聊聊关于出书的方方面面.最终,敌不过张老师超强的专业能力.细致的解说与盛情相邀,我答应张老师写 ...

  3. linux系统运维面试题

    标签:linux系统运维面试题 1.     简述常用高可用技术 解答: Keepalived:Keepalived是一个保证集群高可用的服务软件,用来防止单点故障,使用VRRP协议实现.在maste ...

  4. 分享这两年从事Linux系统运维行业的感受

    2019独角兽企业重金招聘Python工程师标准>>> 2015年6月,一次偶然的机会让我这个非科班出生的人从事起了运维(operation)的行业.这两年间,从大的讲,运维社区.技 ...

  5. Linux系统运维与架构设计之Linux概述

    Linux系统运维与架构设计之Linux概述 Linux系统运维与架构设计 1.1 浅谈计算机系统 1.1.1 计算机硬件系统 现代计算机是基于冯·诺依曼体系结构,由运算器.控制器.存储器.输入设备. ...

  6. linux设置sfq队列参数,Linux系统运维之Linux高级流量控制工具TC使用方法

    Linux系统运维之Linux高级流量控制工具TC使用方法 本文标签: 运维 流量劫持 Linux系统运维之Linux高级流量控制工具TC使用方法, 在做MHA测试的时候,有一个重要的环节就是测试MH ...

  7. RedHat / Centos   Linux 系统运维与管理实践技巧荟萃,持续更新

    RedHat / Centos   Linux  系统运维与管理实践技巧荟萃 磁盘分区相关  Linux  fdisk 磁盘分区工具以及安装 GRUB 实战: 准备工作,前置知识 演示环境基于 cen ...

  8. linux 的手机操作系统下载地址,Linux系统运维之下载Linux操作系统地址

    本文主要向大家介绍了Linux系统运维的下载Linux操作系统地址,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助. 有很多初次接触Linux的新人都会发问,应该到哪里下载Lin ...

  9. linux怎么用命令打开wine,Linux系统运维:10分钟教你如何使用Wine在Linux下玩魔兽世界...

    本文主要向大家介绍了Linux系统运维的如何使用Wine在Linux下玩魔兽世界,通过具体的步骤向大家展现,希望对大家学习Linux系统运维有所帮助. 目标:在 Linux 中运行魔兽世界 发行版:适 ...

最新文章

  1. 哪些业务流程和RPA更匹配?
  2. jquery检验身份证规则
  3. Python---shelve模块
  4. 一个非常奇怪的C++拷贝构造函数问题
  5. Ubuntu修改root密码以及允许证书和密码登陆
  6. 使用cloudera manager安装Hive服务【详细步骤】
  7. 事务隔离级别动图演示
  8. “ 紫手环的力量 ” :我想,美好的生活应该是自已造就的...
  9. tensorflow windows
  10. 大屏数据可视化解决方案(上)
  11. 华为辟谣将发布石墨烯电池手机;梁建章回应携程杀熟;GitLab 12.6 发布 | 极客头条...
  12. volume image
  13. ndnsim r语言 ubuntu_Python语言---数据库
  14. shared_ptr实现copy_on_write
  15. C与指针——指针(一)
  16. word打开html是空白,网页复制到Word之后或者出现空白或者格式变乱该怎么办
  17. Android R- AudioManager之音量调节(一)
  18. vim保存分享录制宏
  19. python编程价格_Python基础练习实例46(查询价格)
  20. HDR阴影高光图像增强

热门文章

  1. ffmpeg常用数据结构4
  2. 【RobotStudio学习笔记】(五)工具数据
  3. python主要数据变量_python的数据类型和变量
  4. 安卓游戏时禁止状态栏下拉,如何在Android中禁用通知栏下拉菜单?
  5. php极验证,WebGeeker-Validation: 一个强大的 PHP 参数验证器
  6. linux tee命令_Linux tee命令示例
  7. Android VideoView
  8. Java System.getProperty()
  9. Akka适用于分布式系统《five》译
  10. 在资源管理器中增加二级菜单