linux某用户 计划任务,Linux计划任务管理

linux某用户 计划任务,Linux计划任务管理Linux计划任务管理前言:在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、cronie软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。一、at命令一次性计划任务前提条件:对应的系…

大家好,又见面了,我是你们的朋友全栈君。

Linux计划任务管理

前言:在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、cronie软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。

一、at命令

一次性计划任务

前提条件:对应的系统服务atd必须已经运行

查看atd服务是否运行:/etc/init.d/atd status,若没有运行,则使用/etc/init.d/atd start开启服务

服务脚本名称:/etc/init.d/atd

设置格式:

94c3f925ed868c32e5c46bf523dfd963.png

注:使用at命令设置的计划任务只在指定的时间点执行一次,计划任务的时间、日期必须安排在当前系统的时刻之后,否则将无法正确设置计划任务,若只指定时间则表示当天的该时间,若指定日期则表示该日期的当前时间,确认后将进入带“at>”提示符的任务编辑界面,每行设置一条执行命令,可以依次设置多条语句,最后按Ctrl+D组合键提交任务即可。所设置的命令操作将在计划的时间点依次执行。

示例1:

adf7e1c2648672f4d398fe8ce4b33016.png

示例2:在当天的21:30时自动关闭当前系统。

693561d967b51db2769da35fe7995d43.png

二、crontab命令

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作

属于周期性计划任务

前提条件,对应的系统服务crond必须已经运行(和查看atd服务运行状态的命令一样,/etc/init.d/crond status即可)

服务脚本名称:/etc/init.d/crond

主要设置文件

全局配置文件,位于文件:/etc/crontab系统默认的设置,位于目录:/etc/cron.*/用户定义的设置,位于文件:/var/spool/cron/用户名1.crontab的配置文件和目录(概念性的东西,了解一下)

crond通过多个目录和文件设置计划任务,不同类型的配置文件来设置

1) /etc/crontab——系统任务配置文件

/etc/crontab文件中设置的是维护Linux系统所需的任务,由Linux系统及相关程序在安装时自动设置,不建议用户手动修改

图示:

374969bdf997de31185b9f8c2f134482.png

2) /var/spool/cron/——用户cron任务的配置文件存放目录

由用户自行设置的cron计划任务将被保存到目录/var/spool/cron/中,文件名与用户名相同。

示例:如下图,root用户的cron计划任务保存在配置文件/var/spool/cron/root中

6b66b8c086f5e349536604387a8d9737.png

注:crond守护进程会自动检查/etc/crontab文件、/etc/cron.d/目录及/var/spool/cron/目录中的改变,如果发现有配置文件更改,它们就会被载入内存,所以当某个crontab文件改变后并不需要重新启动crond守护进程就可以使设置生效。

2.使用crontab命令管理用户的计划任务

编辑计划任务:

4bb41ee5b73d2982f5ed644759e65966.png

查看计划任务:

57f37883234f2a0dfa82f0086e3236da.png

删除计划任务:

56f03f6e12b4b178e262eaee696ccb5e.png

注:root用户可以管理指定用户的计划任务,普通用户只能管理自己的计划任务

1) 编辑用户的计划任务

执行“crontab -e”命令后,将打开计划任务编辑界面(与vi/vim中的操作相同)。通过该界面用户可以自行添加具体的任务配置,每行代表一个记录,每一行任务配置记录,都包括六个数据字段,分别表示不同的含义。

示例1:每天早上7:50自动开启sshd服务,22点50时关闭,这个该怎么写呢?(如下图)

64b1d2e7a515ef8111510893015fa72d.png

如上图所示:50 7 * * * /sbin/service sshd start这一行的含义如下图所示

74c5ade6d9b68108e79b2a730793ce1a.png

通过这个示例我们可以知道每行记录=时间周期设置+任务内容(命令),时间周期的设置规则是以“分(分钟)、时(小时)、日(日期)、月(月份)、周(星期)”的顺序来写的,当使用“*”时表示取值范围中的任意时间。各个字段的取值范围如下图所示:

808a0afde4c383bf9ef4c9caa0235b39.png

除了表中的正常的取值范围外,还有一些特殊符号表示方法

* 表示该范围内的任意时间, 表示间隔的多个不连续时间点- 表示一个连续的时间范围/ 指定间隔的时间频率接下来我们再通过一些实例来熟悉一下

示例2:时间周期的写法(先不写命令,只通过写时间周期来熟悉一下该怎么写)

8d0fdbb3cc4b88895665b795b5f0dc62.png

示例3:(root用户)

要求:

每天早上7:50自动开启sshd服务,22点50时关闭

每隔5天清空一次FTP服务器公共目录/var/ftp/pub

每周六的7:30时,重新启动httpd服务

每周一、三、五的17:30时,打包备份/etc/httpd目录

图示:

6666cdcb702f2a1faee04ee7e409456e.png

示例4:(jerry用户)

要求:每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件

图示:

8194137f3157489ca4d8181fbe24d834.png

注:通过上面的这些示例,我们可以看出命令的编辑都使用的是绝对路径,这是因为因为各条计划任务在执行时并不需要用户登录,所以任务配置记录中的命令建议使用绝对路径,以避免因缺少执行路径而无法执行命令的情况。另外,在设置非每分钟都执行的任务时,“分钟”字段也应该填写一个具体的时间数值,而不要保留默认的“*”,否则将会在每分钟执行一次计划任务。

刚开始可能会有点懵,也可能我总结的这个逻辑思路不对你们的胃口,但时间周期的编辑规则一定是“分、时、日、月、周”,这个得牢记。

2) 查看用户的计划任务

crontab命令结合“-l”选项可以查看当前用户的计划任务列表,对于root用户来说,还可以结合“-u”选项查看其他用户的计划任务。

图示:

de5c4e2144ecb7414cdea14c586fe91c.png

3) 删除用户的计划任务

当需要删除某一条计划任务时,可以通过“crontab -e”进行编辑(要删哪条,把那行删了就完了);而若要清空某个用户的所有计划任务,可以执行“crontab -r”命令。

图示:

aa0b0e6b963caf01fd0c25cb1b6ade98.png

b9a684bc3faa167a633e945bdaca5635.png

到这为止就差不多完了,但其实这也只是个开始,因为在设置用户的crontab计划任务的过程中,由于每一条记录只能运行一行命令,难以完成更复杂的系统管理任务操作,因此在实际工作中,当需要按照固定周期运行一些复杂的任务时,通常会将相关命令操作编写成脚本文件,然后在计划任务配置中加载该脚本并执行。任重而道远。

举报/反馈

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 概率论中 PDF,PMF,CDF的含义[通俗易懂]

    概率论中 PDF,PMF,CDF的含义[通俗易懂]概率论中PDF,PMF,CDF的含义在概率论中,我们经常能碰到这样几个概念PDF,PMF,CDF,这里就简单介绍一下PDF:概率密度函数(probabilitydensityfunction),在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。概率密度函数都是针对连续性随机变量的,对于连续性随机变量,都是针对某一段区间的取值,在一个点的取值都是几乎为0的,所以我们研究连续性随机变量时,都是取变量在一段

    2022年5月24日
    74
  • linux 信号sigabrt,關於Linux中的SIGABRT信號

    SIGABRT是中止一個程序,它可以被捕捉,但不能被阻塞。處理函數返回后,所有打開的文件描述符將會被關閉,流也會被flush。程序會結束,有可能的話還會coredump。當程序調用abort(3)時,該進程會向自己發送SIGABRT信號。所以,SIGABRT一般用於信號中一些關鍵的處理,assert失敗時也會使用它。你不應該去捕捉SIGSEGV和SIGABRT信號,如果收到這種信號,說明進程處…

    2022年4月7日
    91
  • asp.net cms_基于asp的开源项目

    asp.net cms_基于asp的开源项目随着网络技术的发展,目前国内CMS的开发商越来越多,各自都有其独特的优势,大家在选择的时候觉得眼花缭乱,不知道选择哪个比较好,我个人认为开源的CMS还是适合我们学习及研究使用,下边就几个国内的asp.net开源CMS进行简单介绍。1.We7CMS We7CMS是由西部动力开发的一款充分发掘互联网Web2.0(如博客、RSS等)的信息组织优势,将其理念利用到政府企事业网站的构建、组织

    2022年9月27日
    2
  • 修改ntp服务器地址,修改ntp服务器地址

    修改ntp服务器地址,修改ntp服务器地址修改ntp服务器地址内容精选换一换修改子网名称、DNS服务器地址等。当前在部分区域中,子网已从虚拟私有云中解耦,解耦后子网拥有独立入口。未解耦:在虚拟私有云详情页的“子网”页签,可对子网进行操作。本小节的操作步骤指导以此入口为例。已解耦:在进入“网络>虚拟私有云”后,在左侧导航栏直接选择“子网”,可对子网进行操作。登录管理控制台。在管理控制台左上角单击,选择区域和项目网关创建成功以后,…

    2022年6月14日
    29
  • VB学习笔记(基础知识)(一)「建议收藏」

    VB学习笔记(基础知识)(一)「建议收藏」VisualBasic程序设计语言学习笔记(一)本学习笔记对应版本:VB6.0企业版(推荐使用企业版)对象及其操作对象是VisualBasic中的重要概念,现在介绍两种基本对象——窗体和控件。VisualBasic中,对象可以分为两类,即预定义对象和用户定义对象,其中,窗体和控件就是预定义对象。对象属性属性是对象的特征,不同的对象有不同的属性,而常见的属性有:1.Caption…

    2022年6月21日
    46
  • PHP error_reporting() 错误控制函数功能详解

    PHP error_reporting() 错误控制函数功能详解

    2021年9月19日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号