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

设置格式:

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

示例1:

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

二、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系统及相关程序在安装时自动设置,不建议用户手动修改

图示:

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

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

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

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

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

编辑计划任务:

查看计划任务:

删除计划任务:

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

1) 编辑用户的计划任务

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

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

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

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

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

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

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

示例3:(root用户)

要求:

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

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

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

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

图示:

示例4:(jerry用户)

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

图示:

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

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

2) 查看用户的计划任务

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

图示:

3) 删除用户的计划任务

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

图示:

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

举报/反馈

linux某用户 计划任务,Linux计划任务管理相关推荐

  1. edu-【Linux 与 Python编程2021】Linux知识训练,Linux之用户管理,Linux文件/目录管理

    python实训 python学习 – 菜鸟教程+B站视频 文章目录 linux知识训练-硬件与软件安装 第1关:linux知识训练-硬件与软件安装 linux知识训练-账户进程与权限 第1关:lin ...

  2. linux更改用户的shell,Linux下通过shell更改用户密码

    echo "root:admin" | chpasswd root的密码改为admin pwconv 同步到shadow文件 newusers和chpasswd的用法 日期:200 ...

  3. linux普通用户命令权限,Linux普通用户没有权限使用命令怎么办

    摘要 腾兴网为您分享:Linux普通用户没有权限使用命令怎么办,智能互联,智慧大学,微商助手,豌豆荚等软件知识,以及高考倒计时器,京东拼购app,单田芳评书打包,小米手机管家,离线小说,批量压缩图片大 ...

  4. linux改用户密码chpasswd,Linux chpasswd (批量或单一修改用户密码)和passwd(直接修改用户密码)...

    Linux命令:chpasswd 批量或者单一修改用户密码 语法: 1:# echo 用户名:密码 | chpasswd 2:# chpasswd < doiido.txt 实例 1.直接修改d ...

  5. Linux虚拟用户怎么建立,linux下ftp虚拟用户的创建方法

    本文介绍下,在linux系统中,为ftp创建虚拟用户的方法,这里使用vsftpd作为服务器软件,有需要的朋友参考学习下. vsftpd虚拟用户创建示例 Linux的FTP服务支持3种用户: 1.匿名帐 ...

  6. linux普通用户时间乱码,Linux root用户与普通用户时间不一致

    造成这种原因有多种,可能是安装软件时选的时区不是本国时间等等. 今天检查了root用户和oracle及grid用户的时间不一样,幸好数据库还没有正式应用,不然可能会造成时间差影响. 现在将同步的方法步 ...

  7. linux添加用户user1命令,Linux添加用户命令useradd

    简单讲述下Linux添加用户命令useradd的使用方法. 1.用户添加命令useradd [root@localhost user1]# useradd [选项] 用户名 选项: -u UID:手工 ...

  8. linux新建用户和权限,linux 新建用户和权限分配

    1.创建新用户:testuser 命令:#useradd 选项 用户名 选项: -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主 ...

  9. linux更改用户登录密码,Linux更改用户密码

    环境 RedHat Linux 9 + VWWare 7.1.2 + Putty 0.62 问题 Linux更改用户密码 解决 方法一 1.如果你是以普通用户登录的话,修改自己的密码,使用passwd ...

  10. linux 给用户tmp权限,linux用户以及权限

    资源,用户和用户组的相关概念: 资源:计算机的计算能力,内存空间等等都可以统称为计算机的资源. 用户:用来标识是否有使用计算机资源的权限 用户组:相当于容器的概念,方便分配权限. 权限: r w x ...

最新文章

  1. ajax入门实例代码,AJAX、AJAX实例及AJAX源代码
  2. 词向量之BERT 结构
  3. GBDT Xgboost LightGBM区别与联系
  4. 如何做好错误处理?(PHP篇)
  5. 008_效果和动画的Callback函数
  6. Winform中使用代码编写Button按钮的点击事件
  7. 安驾者电子狗升级步骤
  8. mock方法常用框架_什么是Mock测试?
  9. win10企业版打开自带截图工具
  10. Web本地存储和小程序本地存储的区别
  11. 【SENCHA TOUCH】改了tomcat的IP访问!java的session失效问题! [ Web 开发]
  12. 大黄蜂vep视频转成MP4格式提取工具的使用
  13. HSqlDB(java内置数据库)
  14. xmlspy xmlviewer
  15. 【秋招】拼多多_数据分析岗_面试题整理
  16. Python中seek()函数的使用方法--一文读懂
  17. React Native_React Native组件(ListViewFlatListSectionList)
  18. K8s(资源管理,namespace,Pod)
  19. html5 保存 搜索历史,前端实现搜索记录功能也就是天猫app历史记录存储方便浏览 - 今天的代码你撸了嘛...
  20. LabVIEW如何开发大型程序

热门文章

  1. golang实现简单rpc调用
  2. Citavi系列之Word参考文献APA转LaTeX Bib文件
  3. ocx控件注册和解除注册
  4. eclipse-登录注册web项目-练
  5. 如何管理计算机的字体,请同事吃了顿饭才要来的字体管理神器,电脑里的几百个字体有救了!...
  6. css内联样式---动态绑定背景图片
  7. VS2017 离线安装vsix插件
  8. 分析对象竞是我自己?我在 9 月上班划水 1510 分钟!
  9. 代码调试全指南-自然语言处理-基于预训练模型的方法,车万翔
  10. 【千律】OpenCV基础:图像边缘检测 -- Laplacian 算子和 LoG 算子