一、什么是计划任务

如果想要让自己设计的备份程序可以自动地在系统下面运行,而不需要手动来启动它,这是该如何处理?这些任务可以分为【单一】任务和【循环】任务,在系统内又是哪些服务在负责?有的工作是例行性的,而有些任务是临时发生的。但是计算机不在身边这时就可以使用计划任务(corntable)来实现。

1、linux计划任务的种类(定时执行) :at、corn

①、at:at是一个仅可以执行一次就结束的命令,不过要执行at时,必须要有atd这个服务【可以使用“service atd status” 来查看是否运行】

②、crontab:crontab这个命令所设置的任务会一直执行下去,可设置循环时间(秒、分钟、小时、周、月、年等)。crontab除了可以使用命令执行外,也可以变价 /etc/crontab 来支持,让 crontab 可以生效的服务则是 crond

2、CenterOS LInux 系统上常见的一些例行性工作

①、执行日志文件的论循:linux会主动记录下系统所发生的的各种信息,即日志文件。这就是 logrotate 任务,也是系统必要的例行任务

②、日志文件分析 logwatch 的任务:CenterOS提供了一个程序【logwatch】来主动分析登录信息,所有会发现,你的root老是会收到 logwatch 为标题的邮件。

③、建立 locate 的数据库:系统的计划任务所产生的效果,系统会主动地执行 updatedb

④、manpage查询数据库的建立:课提供快速查询的 manpagedb 数据库,但是必须要执行 mandb 才能够建立。

⑤、RPM软件日志文件的建立:由于系统会常常变更软件,会造成软件安装文件名的差异。为了方便追踪,系统会帮我们将文件名作个排序的记录

⑥、删除缓存:某些软件运行会产生一些缓存,但是关闭软件之后,缓存未被清除。为了避免这些缓存将磁盘容量消耗光,系统会通过计划任务执行名为 tmpwatch 的命令来删除这些缓存

⑦、与网络服务有关的分析操作:如果你安装了类似网站服务器的软件(例如你安装了Apache),那么你的Linux系统通常就会主动分析该软件的日志文件。同时某些凭证与认证的网络信息是否过期问题,Linux也会执行自动检测。

二、仅执行一次的计划任务

1、atd的启动与at运行的方式

启动atd服务
语法:service atd start

事实上,我们使用 at 这个命令来产生所要运行的任务,并将这个任务以文本文件的方式写入 /var/spool/at/ 目录内,该任务就可以等待 atd 服务的使用和执行了。

我么你可以利用 /etc/at.allow(写在该文件中的用户允许使用 at) 和 /etc/at.deny(写在该文件中的用户不允许使用 at) 这两个文件来实现对at的使用限制。

注意:如果两个文件都不存在,则只有root才可以使用at。

2、实际运行单一计划任务
语法:at [-mldv] TIME
语法:at -c 任务号码

“-m”:当 at 任务完成后,即使没有输出信息,也可以发出 email 通知使用者该任务已完成。
“-l”:相当于atq,列出目前系统上面所有该使用者的 at 计划。
“-d”:相当于atrm,可以取消一个在 at 任务中的计划。

“-v”:使用较明显的时间格式列出 at 计划中的任务列表。
“-c”:可以列出后面接的该项任务的实际命令内容。
TIME:时间格式有“HH:MM”;“HH:MM YYYY-MM-DD”;“HH:MM[am|pm] + number [minutes|hours|days|weeks](表示在某个时间点【再加几个时间后】才执行),例如:now + 5 minutes ; 04pm + 3 days”。

案例一:五分钟后,将 /root/.bashrc 发给 root 自己

注意:执行 at 会进入 at shell 环境,让你执行多重命令等待运行。

案例二、查看刚刚执行的内容

①、batch:系统有空时才执行后台任务
它是 在CPU的任务负载小于0.8的时候,才执行后续的工作任务负载的意思是:CPU在单一时间点所负责的任务数量,而不是CPU的使用率
也就是说,CPU的任务负载大,代表CPU必须要在不同的任务之间执行频繁的任务切换。如果一直切换任务,会导致系统忙绿。系统如果忙碌,还去执行 at 命令,不太合理,所有才有了 batch 。

三、循环执行的计划任务

循环任务由 cron (crond)这个系统服务来控制的,Linux也提供用户控制计划任务的命令(crontab)(定时执行)。

1、用户的设置

为了限制 crontab 的账号使用,可以使用以下配置文件(建议保留一个文件即可):
①、/etc/cron.allow(优先级高)
将可以使用crontab的账号写入其中,不在这个文件内的用户则不可以使用crontab。
②、/etc/cron.deny
将不可以使用crontab的账号写入其中,不在这个文件中的用户就可以使用crontab。

当用户使用 crontab 这个命令来建立计划任务之后,该项任务就会被记录到 /var/spool/cron/ 中,而且是以账号来作为判断根据的。注意:不要使用 vi 来直接编辑该文件,英文可能由于输入语法错误,会导致无法执行 cron

语法:crontab [-u username] [-l] [-e] [-r]
“-u”:只有root才能执行这个任务,亦即帮其他使用者建立/删除crontab计划任务
“-e”:编辑crontab的任务内容
“-l”:查看crontab的任务内容
“-r”:删除所有crontab的任务内容,若要删除一行,请使用-e去编辑

取值范围:
分:0-59
时:0-23
日:1-31
月:1-12
周:0-7,0和7表示星期天

符号:
“ * ”:表示取值范围的每一个数字
“ - ”:做区间表达式,例如:1-7表示1~7
“ / ”:表示每多少个,例如*/10表示每10分钟执行1次
“ , ”:表示多个取值,例如1,2,6表示多个点执行

案例三:在指定时间执行特定的计划任务
语法:crontab -e ;进入编辑页面编辑任务,注意:每一行都是一项任务。
【0 12 * * * mail -s “at 12:00” linux123 < /home/linux123/.bashrc】
分、时、日、月、周、命令串(个人配置可以修改 /etc/crontab

案例四:每月1、10、22日的下午4:45重启network服务
语法:45 16 1,10,22 * * service network restart

案例五:每天18:00至23:00之间每隔30分钟重启network服务
语法:*/30 18-23 * * * service network restart

案例六:每隔两天的上午8点到11点的第3和第15分钟执行一次重启
语法:*3,15 8-11 /2 * * reboot

四、可唤醒停机期间的工作任务

如果记不起某个特别重要的命令要执行的时候,可以使用 anacron(一个程序,而不是服务) 这个命令的功能,可以主动帮我们执行时间到了但是没有执行的计划任务主要用于处理非24小时运行的Linux系统所执行的crontab,以及因为某些原因导致超过时间而没有被执行的任务。

1、anacron(定期执行
配置文件位置: /etc/cron.hourly/0anacron
0表示最先执行,让时间戳先更新,避免误判crontab尚未执行任何任务

语法:anacron [-sfn] [job]
语法:anacron -u [job]

“-s”:开始连续地执行各项任务(job),根据时间记录文件的数据判断是否执行
“-f”:(force)强制执行
“-n”:立即执行未执行的任务,而不延迟(delay)等待时间
“-u”:仅更新时间记录文件的时间戳,不执行任何任务
job:由 /etc/anacrontab 定义的各项任务名称

Linux之计划任务相关推荐

  1. Linux任务计划、周期性任务执行

    Linux任务计划.周期性任务执行 未来的某时间点执行一次任务:at, batch 周期性运行某任务: cron 电子邮件服务: smtp: simple mail transmission prot ...

  2. Linux系统任务计划(at、crontab)的使用方法

    Linux系统任务计划(at.crontab)的使用方法 Linux上的任务计划: 任务计划: 在未来时间点一次性执行某任务:at, batch 周期性执行某任务:crontab 电子邮件服务: sm ...

  3. Linux—任务计划

    1.周期性任务计划: 管理系统的过程中,我们并不是每次都直接执行脚本或者命令,有时候需要让脚本.命令以及系统等在指定的时间按照我们的意愿执行我们设定好的脚本或者命令,这时候就需要使用到Linux任务计 ...

  4. 查看linux的计划任务日志,查看计划任务日志(共5篇).docx

    查看计划任务日志(共5篇) 沈阳工程学院 学生实验报告 实验室名称:信息学院网络安全实验室 实验课程名称:网络安全技术 实验项目名称:实验六日志查看与清除实验 班级:姓名:学号: 实验日期:XX年4月 ...

  5. linux任务计划详解

    linux任务计划.周期性任务执行 未来的某个时间点执行一次某任务:at,batch 周期性运行某任务:crontab执行结果:会通过邮件发给用户 mail 简单使用 查看本地电子邮件服务是否开启 ~ ...

  6. linux 任务计划 cron

    #修改当前用户的计划 crontab -e   //01 * * * * 不能留有空格 01 * * * * /home/zlb/mysql_dump/backup -run >> /ho ...

  7. linux任务计划cron

    linux任务计划cron 1.crontab命令任务计划配置文件 [root@bogon ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/ ...

  8. linux 周期性任务,Linux任务计划,周期性任务执行详解

    Linux任务计划,周期性任务执行 概述 本章将为大家介绍一些任务计划和周期性任务计划执行相关内容 任务计划的分类主要有由两种 未来的某时间点执行一次某任务:at,batch 周期性运行某任务:cro ...

  9. linux任务计划不执行时间,Linux任务计划、周期性任务执行

    Linux任务计划.周期性任务执行 内容简要命令:mail, at, crontab 相信每个人都有使用闹钟的习惯,我们设定闹钟的种类有很多.比如说,只提醒一次.工作日提醒.休息日提醒等.在设定闹钟之 ...

  10. Linux查看分析任务计划命令,Linux任务计划crontab

    今天学习的Linux任务计划crontab 我们时常会有一些定期定时的任务,如周期性的清理一下/tmp,周期性的去备份一次数据库,周期性的分析日志等等.而且有时候因为某些因素的限制,执行该任务的时间会 ...

最新文章

  1. Linux那些事儿 之 戏说USB(5)我是谁
  2. 图例符号居中显示_R可视化08|ggplot2图层-标度图层(scale layer)-图例篇
  3. 关于一次装机后的个人总结
  4. http后面的双斜杠被转义_【实用干货】双荧光素酶报告基因检测
  5. 查询数据库里所有表名和字段名的语句
  6. 为什么都建议学java而不是python-为什么入门大数据选择Python而不是Java?
  7. Android SQLiteDatabase.query()各个参数的意义
  8. 半个月使用rust语言的体验
  9. mysql去掉两个最高分_Excel函数 去掉最高分和最低分取平均值?这个函数不可不知...
  10. 对百度百科SSL证书的解读
  11. Java使用word文档转换图片或pdf格式(aspose-words),无水印,亲测有效!!!
  12. flash 火狐总是崩溃_火狐浏览器flash插件崩溃怎么办?解决firefox经常出现Adobe Flash 插件已崩溃方法...
  13. 数据降维:主成分分析法(PCA)
  14. 程序员专属小情话,哎呦,不错哦!!!
  15. 大学生期末网页大作业:基于HTML+CSS+JavaScript蓝色的汽车设备营销企业网站模板13页面
  16. R语言使用倾向评分提高RCT(随机对照试验)的效率
  17. UiPath估值超百亿!这家来自罗马尼亚深耕中国市场的公司已进入市场高增长期...
  18. 获取数据库中到指定经纬度距离的坐标
  19. html天气预报插件透明,宁国生活网精美天气预报插件,透明图标,昼夜有别
  20. markdown 表格样式设置(跨行表格,背景色等)

热门文章

  1. openwrt编译smartdns_【萌新理解交流】浅谈openWRT中的smartDNS中各个选项如何设置及其含义。...
  2. 精易论坛多线程培训第二期
  3. 静态HTML个人博客主页 简单个人网页设计作业 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页设计作业
  4. c语言指针实验报告总结,指针(C语言实验报告).doc
  5. APK反编译教程新手第一课:安卓基础知识
  6. 友华pt622g说明书_友华通信电信光猫 双口光纤猫PT622 这个可以设置无线吗
  7. java毕业实习日志_《Java课程实习》日志(周一)
  8. 泛函分析 04.03 有界线性算子 - 一致有界原则
  9. 被90%中国人误解了12年的斜杠
  10. 集成运放的电压跟随器有什么作用?