计划任务的种类:

at,执行一次就结束的命令    crontab,用户任务循环执行的任务的命令。系统任务编辑/etc/crontab来完成。

atd让at生效。crond或cron让crontab生效。

仅执行一次执行的计划任务at

重新启动atd服务:systemctl restart atd

设置该服务开机自启:systemctl enable atd

查看目前atd的状态:systemctl status atd#是否开机自启,是否正在运行

使用at命令产生的任务,以文本写入到/var/spool/at目录内,以便atd服务的执行。

执行过程中,首先寻找/etc/at.allow中存在的用户名,存在的用户可以使用at。

之后,如果没有/etc/at.allow则找寻/etc/at.deny。在deny中存在的账户不能使用at。

如果两个文件都不存在,则只有root可以执行at

创建at任务,发送root的bashrc给root:at now +5 minutes,之后输入 /bin/mail -s "Hi" root </root/.bashrc,ctrl+d

-c加命令内容查看。如:at -c 2。-m不管有无输出信息都发送邮件判定执行情况。

给定时间创建任务:at 23;00 2019-04-22,之后输入执行的内容。

at命令在任务执行时,会进入at shell环境,使用不同的环境变量等原因,建议使用绝对路径执行命令。

标准输出发送到执行者的mailbox中,若发送到终端则类似写入:echo 'HI" >> /dev/tty3

查询目前的at任务:atq

删除任务:atrm x;x为atq中显示的任务号码

batch,CPU1分钟的平均任务负载(平均执行任务数量)小于0.8,才执行工作任务。利用at执行命令,不支持时间参数。

uptime查看1分钟,5分钟,15分钟的平均任务负载。

jobs查看正在执行的任务

crontab命令执行时,优先先找/etc/cron.allow,然后是/etc/cron.deny。文件二选一,系统默认保留/etc/cron.deny文件。

crontab命令建立的任务保存在/var/spool/cron/userName中(不宜直接修改,含语法)。

cron每次执行的数据写入到/var/log/cron日志文件中。

crontab是指在/usr/bin/crontab的程序

-e编辑任务内容,-r删除所有任务,-l查看任务等

使用crontab创建任务,发送邮件:crontab -e;之后输入:0 12 * * * mail -s “Hi” root < /root/.bashrc;wq保存退出

时间格式为:分钟,小时,日,月,周。共五项。*表示任意,,表示分隔时间点,-表示一段时间内,/n表示每隔多久,n为某数字

编辑crontab即可完成修改。全部删除-r

cron服务每分钟读取var/spool/cron/和/etc/crontab的数据内容,进行执行,最小单位为分钟。

显示系统计划crontab的内容:cat /etc/crontab。其中的MAILTO=root,表示执行过程中的错误信息或屏幕信息传递邮件的对象。root可能由于root的pop3收信协议限制有影响

PATH为执行文件路径。

cron[d]服务读取的位置:/etc/crontab、/etc/cron.d/*、/var/spool/cron/* 

/etc/cron.d/*也和系统运行的配置有关。查看该路径下的某个文件:cat /etc/cron.d/0hourly,该文件每小时执行的run-parts脚本,run-parts脚本每小时选择5分钟随机时间执行/etc/cron.hourly目录内的所有执行文件(脚本)。

而/etc/cron.daily  /etc/cron.weekly/   /etc/cron.monthly为anacron执行,而anacron的执行方式在/etc/cron.hourly/0anacron中。

在进行计划任务设置是,错开时间,避免资源分配不均,取消不必要的输出选项,进行安全检查等。注意周与月日的可能冲突问题。

anacron可唤醒停机期间的工作任务。分析现在时间和文件记录所记载的上次智能型时间差异,执行未执行的任务。

anacron因放在/etc/cron.hourly/下,所以每小时主动执行一次。执行的为0anacron。查看该文件:cat /etc/cron.hourly/0anacron#前置0表示最先执行了。

查看anacron的配置文件:cat /etc/anacrontab,其中显示了相差天数,延迟时间,工作名称定义,实际执行命令串。

anacron找到/etc/anacrontab中的天数,找到/etc/spool/anacron/cron.xxx中对应的上一次时间,比较,然后延时,最后执行。

别人的Linux私房菜(16)计划任务的更多相关文章

  1. 别人的Linux私房菜(22)软件安装:源代码与Tarball

    执行make,会在当前目录查找makefile文本文件(记录了源代码如何编译的详细信息). 内核相关的函数信息放置在/usr/lib./usr/lib64里. 在Tarball(一般为xxx.tar. ...

  2. 别人的Linux私房菜(19)认识与分析日志文件

    日志文件通常只有root可以读取,解决系统和网络方面的问题. /var/log/boot.log本次开机系统检测和启动硬件,和内核支持的相关功能的信息记录. /var/log/cron计划任务有没有被 ...

  3. 别人的Linux私房菜(17)进程管理与SELinux初探

    程序在磁盘中,通过用户的执行触发.触发事件时,加载到内存,系统将它定义成进程,给予进程PID,根据触发的用户和属性,给予PID合适的权限. PID和登陆者的UID/GID有关.父进程衍生出来的进程为子 ...

  4. 别人的Linux私房菜(14)Linux账号管理和ACL权限设置

    用户标识符UID.GID 用户的账号信息,主要是指UID对应.组和GID对应 检查系统中是否存在用户bin:id bin 登录shell验证账号密码的步骤:找到/etc/passwd核对是否存在账号, ...

  5. 别人的Linux私房菜(23)软件安装RPM、SRPM、YUM

    RPM(RedHat Package Manager),不同Linux发行版发布的RPM文件甚至不同版本,不通用. SRPM为Source RPM,所提供的软件内容没有经过编译,格式为xxx.src. ...

  6. 别人的Linux私房菜(2)Linux简介

    同一操作系统无法在不同硬件平台上运行.架构. Bell实验室和麻省理工学院MIT和通用电气公司GE发起了Multics计划,分时兼容系统,300以上多终端连接主机. Unics 由Multics中的人 ...

  7. 别人的Linux私房菜(21)基础系统设置与备份策略

    网络设置,手动设置IP,DHCP自动获取. 以太网协议开发出来的网卡ethN,N为数字. CentOS7对网卡命名的规则:eno代表由主板BIOS内建立的网卡,ens1由主板BIOS内建的PCI-E界 ...

  8. 别人的Linux私房菜(20)启动流程、模块管理与Loader

    系统启动时,首先加载BIOS,通过BOIS读取COMS的硬件信息,进行自我检测,取得第一个可启动的设备(多个根据设置有关). 读取并执行设备内的MBR启动引导程序,引导程序调用boot sector中 ...

  9. 别人的Linux私房菜(18)认识系统服务(daemon)

    完成服务service的程序称为daemon.完成计划性的服务程序如crond是一个daemon. 早期的System V的init管理daemon操作中,系统内核首先调用init,然后init运行系 ...

随机推荐

  1. Appium基础知识与环境搭建

    基础知识:  环境搭建: 1.安装jdk,配置java环境变量 (1)新建变量"JAVA_HOME",变量值"D:\Frameworks\Java\jdk1.8.0_18 ...

  2. 记一次Monolog的BufferHandler使用

    laravel中可以设置自定义的日记channel(config/logging中设置),按照laravel-china的一篇文章,把log按一定格式并且以批量的方式写入日志文件: https://l ...

  3. Windows 7升级1月更新汇总后导致SMBv2网络无法正常工作

    在本月的补丁星期二活动日中,微软面向Windows 7.Windows 2008 R2服务器系统推出了KB4480970的月度更新汇总.然而根据部分用户反馈,在安装该更新之后导致系统的网络设置无法正常 ...

  4. 使用pip安装包提示TLS证书错误解决办法

    最近有在使用pip安装python包的时候,总会出现以下类似的错误: Could not fetch URL https://pypi.python.org/simple/pytest-xdist/: ...

  5. 基于IAR平台FreeRTOS移植

     开始这篇文章之前先简单说明一下,我使用的MCU是我们公司自主研发的ACH1180芯片,和STM32差不多,都是Cortex-M4的核,所以移植的过程参考了STM32移植的步骤. 1.解压FreeRT ...

  6. OpenCV4.0学习笔记

    1.读取显示图像 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using names ...

  7. JS实现将数字金额转换为大写人民币汉字

    function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', ...

  8. Linq指令执行分析

    Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前 ...

  9. CentOS 6安装配置mongodb

    安装过程 服务器下载安装包 下载: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.6.tgz; 解压 ...

  10. 19. Remove Nth Node From End of List (JAVA)

    Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...