第十章 计划任务

当我们将来在企业里需要对一个服务器进行运维时,我们需要设定一些任务,这个任务可以自动执行,这就需要我们进行设置任务计划,可以让服务器在将来的某个时间点自动执行。

一、一次性调度执行

1.一次性调度执行命令:at

命令语法:at <时间空间>

时间空间的示例:

now +5min:现在的时间+5分钟 后执行任务

teatime tomorrow (teatime is 16:00) :定时执行任务

noon +4days:中午12点+4天执行任务

4:00 2019-11-27 :在将来的2019年11月27日4点钟执行任务

例:[root@localhost ~]# at now +3min //从现在起3分钟后执行下面的任务

at> ls //任务计划为查看当前目录

at> <EOT> //这里是退出的意思

这里的at> 是可以一直添加任务的,当我们继续回车可以继续输入命令,当我们按“Ctrl+D”键时则退出 at> 的编辑。

[root@localhost ~]# atq //查询任务

1 Wed Feb 26 22:41:00 2020 a root //这里显示root用户有一个at任务

二、循环调度执行

cron的概念和crontable是不可分割的,crontable全名为循环任务表。crontable是一个命令,用于设置周期性被执行的指令。该调度执行设置好以后也会被存在“cronatab”文件中,这样一来方便今后的修改和执行。

1. 循环调度执行的命令:cron

我们要先查看crond这个程序有没有开启和运行,确定开启运行了才能使用。

[root@localhost ~]# ps aux | grep crond //查看进程信息

root 1383 0.0 0.0 126292 1688 ? Ss 22:36 0:00 /usr/sbin/crond -n

root 3174 0.0 0.0 112732 968 pts/0 S+ 23:01 0:00 grep --color=auto crond

//上面显示了进程状态是Ss,说明他在后台运行。

我们查看进程的信息也可以确定进程是否运行,可以用以下方法:

[root@localhost ~]# systemctl status crond.service //查看进程状态

Active: active (running) since 三 2020-02-26 22:36:19 CST; 31min ago

//这里会显示很多行,我们只需要看重要的一行就是上面的这一行显示的是(running)就说明crond服务正常运行,crond程序可以被正常使用。当他显示没启动时,我们需要用systemctl start crond来启动它,然后再使用。

计划任务存储的位置。

计划任务存储的位置:

当我们设置好了循环调度任务时,可以在/var/spool/cron目录下查看我们设置的循环调度执行任务计划。可以用ls /var/spool/cron查看。

管理方式:

(1)创建计划:执行命令crontab -e创建然后进入一个像vim记事本的界面

我们进入以后可以编写循环调度的任务。

进入以后的标准语法:* * * * * command

第一个*:代表分钟; 第二个*:代表时; 第三个*:代表日

第四个*:代表月; 第五个*:代表周; command:代表你想要执行的循环计划 ,命令或者脚本程序

注意:前面的5个 * 在写的时候一定要注意每一个都要写,5个*一个都不能少,而且每一个 * 之间都要有空格隔开,否则系统识别不出来。当我们编辑完以后都要“:wq” 保存退出。

例:*/5 * * * * ls /tmp //意为每隔5分钟就执行一次命令ls /tmp

例:[root@localhost ~]# crontab -e //创建循环调度任务

5 * * * * /usr/bin/ls /tmp //我们在这里最好写上绝对路径下查看

~

:wq //保存退出

no crontab for root - using an empty one //退出后显示如下两行信息

crontab: installing new crontab

[root@localhost ~]# crontab -l //查看创建好的循环调度任务执行

5 * * * * ls /tmp

例:0 2 1,4,6 * * /usr/bin/ls /tmp

//这里的1,4,6意为每月的1号,4号,6号三天的两点整执行该任务

今天又是努力学习的一天,在这里鼓励自己越努力越幸运。

cron 12点执行_Linux中得循环调度任务执行相关推荐

  1. mysql join 循环_关于mysql联表的内嵌循环操作nested loop join中on和where执行顺序问题...

    mysql的理论依据没找到,个人理解是先执行where的过滤条件,先关联再过滤明显做的是无用功. oracle中倒是能在执行计划中看到,先执行的是过滤条件(下面代码中最后一行). explain pl ...

  2. vue openlayer单击地图事件循环多次执行_Vue中$nextTick的理解

    Vue中$nextTick方法将回调延迟到下次DOM更新循环之后执行,也就是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后立即使用这个方法,能够获取更新后的DOM.简单来说就是当数据更新时, ...

  3. 项目计划执行过程中,如何分析进度偏差?

    在项目计划的执行过程中,通过对执行过程的跟踪检查,找出实际进度与计划进度之间的偏差,分析偏差原因并找出解决办法. 如果无法完成原来的目标计划,就需要对原来的计划进行更新. 项目进度更新后我们可以分析进 ...

  4. 解决Ranorex在测试执行过程中,当执行完调用外界库的方法后并没有执行其他的操作?

    目录 简介 解决方式-1 解决方式-2 如何调用外界库? 简介 解决:当Ranorex测试方案包含有调用外界库的方法和其他通过录制或者其他操作的前提下,执行测试过程中,如果遇到执行完调用外界库的方法, ...

  5. android子线程没有运行完,android假如主线程依赖子线程A的执行结果,如何让A执行完成,之后主线程再往下执行呢?...

    /* String ObjectResult="原先的结果"; //使用VOLLY框架(与问题无关) JsonObjectRequest jsonObjectRequest = n ...

  6. cron 12点执行_【技术指南】Crontab调度重复执行的任务

    点击上方蓝字关注我们 Crontab是什么 Crontab是一个用于设置周期性执行任务的工具: 周期性执行的任务我们称为Cron Job: 周期性执行的任务列表我们称为Cron Table. Cron ...

  7. python print(f)执行将报错_Linux中为什么执行自己的程序要在前面加./

    来源:公众号[编程珠玑] 作者:守望先生 在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b 而在执行自己写好的程序时,却要带上./,例如: $ hel ...

  8. 一个进程在执行过程中可以被中断事件打断_Linux操作系统:中断类型和中断的作用...

    1.中断的概念 中断对于操作系统非常重要,它就好像机器中的齿轮,驱动各部件的动作.所以,许多人称操作系统是由"中断驱动"的. 所谓中断是指CPU对系统发生的某个事件做出的一种反应, ...

  9. cron linux_如何在Linux中使用cron

    cron linux 本文最初发布于2017年11月,现已更新以包含其他信息. 成为系统管理员的挑战(其中有很多优点)之一是当您想睡觉时正在运行任务. 例如,某些任务(包括定期重复执行的任务)需要在没 ...

最新文章

  1. [Android]ListView中分割线的设置
  2. 实现网页中增加刷新按钮、链接的方法 搜集
  3. Java集合:List转数组互转
  4. 众辰变频器参数设定_电工知识:变频器使用方法设定功能参数的方法
  5. Jupyter Notebook简介及默认路径修改
  6. SpringBoot @Cacheable缓存入门程序
  7. 软件框架的理解(转载)
  8. 进阶!基于CentOS7系统使用cobbler实现单台服务器批量自动化安装不同版本系统(week3_day5_part2)-技术流ken...
  9. 泛微发布亿元补贴计划,推动移动办公普及
  10. ctr预估之特征工程
  11. linux lasound.so教程,Linux ALSA 音频系统:逻辑设备篇(示例代码)
  12. 使用u盘量产工具修复写保护的u盘
  13. 域名解析后主机记录和记录值怎么填写?
  14. EKL日志平台架构概括
  15. Parquet 格式文件
  16. 语音降噪论文“A Hybrid Approach for Speech Enhancement ...“的研读
  17. mac的计算机名称,mac 如何修改计算机名_mac 修改计算机名称
  18. 云南省最好的计算机学校排名,云南学校排名
  19. windows服务器安全设置怎样操作,要注意什么?
  20. 最重要的EMC设计准则

热门文章

  1. ElementUI如何将当前组件的所有属性快速传递给子组件
  2. nginx 配置文件 linux,Linux-nginx.conf配置文件模板
  3. 鼠标经过替换背景和文字
  4. 将SVG 图引入到HTML页面
  5. Vue2.0+vuex+H5实现音乐播放及歌曲切换功能的方法及原理解释
  6. 三维重建15:最近遇到的-标定-EKF-优化方法等
  7. 1.3. kermit
  8. 10月12日云栖精选夜读:【直击2017杭州·云栖大会】TECH INSIGHT企业迁云实战专场...
  9. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
  10. MAC chrome浏览器 adobe flash player不是最新版本提示 的解决方案