++++++++++++++++++++++++++++++++++++++++++++++++
标题:Linux操作系统的计划任务
内容:计划任务分为单次任务和周期性任务,周期任务分为系统级计划任务和用户级计划任务
重点:重点掌握周期性计划任务,at单次任务作为了解内容,在本章最后进行简单介绍
时间:2019年4月22日
++++++++++++++++++++++++++++++++++++++++++++++++
1. 计划任务分类
定时任务分为单次计划任务和周期性计划任务
周期性计划任务分为系统级周期任务和用户级周期任务

2. 计划任务的特点(crond)
[root@test ~]# ps aux |grep 'crond' |grep -v 'grep' //计划任务的进程
root 1791 0.0 0.0 117296 1384 ? Ss 01:55 0:00 crond
[root@test ~]# ll /var/log/cron //计划任务的日志
-rw-------. 1 root root 11408 Apr 19 06:01 /var/log/cron
注意:
crond服务会每个1分钟对计划任务进行一次检查,以执行需要运行的计划任务
计划任务执行时不会讲内容显示在终端上,而是通过邮件进行通知

3. 系统级周期计划任务
3.1 定义方式1
[root@test ~]# vim /etc/crontab //默认该文件中没有任何计划任务,介绍了定义计划任务的格式
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
* * * * * root cd /home/ ; ls
0 0 * * * root /bak_bash/mysql_bak.sh
0 2 * * * alice run-parts /cron-test
注意:
计划任务的解读读到第一个"*"符号即可。
生产环境中(服务器)的计划任务最高一般不会超过月,常见的是天。
计划任务中提到的日和月是且的关系。
计划任务中提到的日和星期是或的关系。

3.2 定义方式2
[root@test ~]# ls /etc/cron.hourly/
0anacron
[root@test ~]# ls /etc/cron.daily/
cups logrotate makewhatis.cron mlocate.cron prelink readahead.cron tmpwatch
[root@test ~]# ls /etc/cron.weekly/
[root@test ~]# ls /etc/cron.monthly/
readahead-monthly.cron
例如:现在某个任务,需要每小时进行执行一次,可以直接将脚本放在/etc/cron.hourly/

3.3 系统级计划任务流程
[root@test ~]# ps aux |grep 'crond' |grep -v 'grep' //计划任务的进程没分中检查计划任务
root 1791 0.0 0.0 117296 1384 ? Ss 01:55 0:00 crond
[root@test ~]# cat /etc/crontab
[root@test ~]# ls /etc/cron.hourly/
0anacron
[root@test ~]# cat /etc/crontab //该脚本会启动一个进程,该进程存在一个配置文件
/usr/sbin/anacron -s
[root@test ~]# cat /etc/anacrontab
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
问题:如何能够确认计划任务在定义的时间之内被执行过呢????
[root@test ~]# ll /var/spool/anacron/ //对应到anacrontab进程的JOB ID
-rw-------. 1 root root 9 Apr 19 04:12 cron.daily
-rw-------. 1 root root 9 Apr 19 03:18 cron.monthly
-rw-------. 1 root root 9 Apr 19 04:32 cron.weekly
[root@test ~]# cat /var/spool/anacron/cron.daily
20190419

4. 用户级计划任务
[root@test ~]# ll /var/spool/cron/root //root用户的计划任务文件
[root@test ~]# crontab -u mysql -e //编辑几家任务
[root@test ~]# crontab -u mysql -l //查看计划任务
* * * * * cd /home/ ; ls
[root@test ~]# mail //确认计划任务已经执行
[root@test ~]# crontab -u mysql -r //清除计划任务
注意:
与系统计划任务略有不同,不需要指定用户去执行
* * * * * /mysql_bak.sh //每分钟执行一次
0 * * * * /mysql_bak.sh //每小时执行一次
0 2 * * * /mysql_bak.sh //每天2:00执行一次
0 2 1 * * /mysql_bak.sh //每月1日2:00执行一次
0 */2 * * /mysql_bak.sh //每个两个小时执行一次
0 2 * * 0 /mysql_bak.sh //每月1日或每星期日执行一次

5. at定时任务
[root@test ~]# at now +2min //创建任务
at> useradd alice
at> echo "alice" |passwd --stdin alice
job 2 at 2019-04-19 06:50
[root@test ~]# atq root //任务查询
2 2019-04-19 06:50 a root
[root@test ~]# id alice
uid=501(alice) gid=501(alice) groups=501(alice)
[root@test ~]# at now +2min
at> cd /home/;ls
at> <EOT>
job 3 at 2019-04-19 06:52
[root@test ~]# atq root
3 2019-04-19 06:52 a root
[root@test ~]# atrm 3 //删除任务
[root@test ~]# atq
[root@test ~]# atq root

Linux操作系统计划任务的更多相关文章

  1. Linux任务计划

    Linux任务计划: 一次性任务执行(at.batch): at:定时任务,指定一个时间执行一个任务,只能执行一次. at使用方式: 交互式:让用户在at>提示符输入多个要执行的命令: 批处理: ...

  2. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  3. 使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

    http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...

  4. linux操作系统cron详解

    Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动 ...

  5. SUSE(Linux操作系统)

    suse linux 即 SUSE (Linux操作系统) . SUSE(发音为/zuz?/),发音的音频文件.SUSE Linux 原来是德国的 SuSE Linux AG公司发行维护的Linux发 ...

  6. 了解Linux操作系统发展阶段

    一.硬件与软件发展历史 计算机由硬件和软件组成结构 二.Linux的发展史 Linux 操作系统是Unix操作系统的一种克隆系统.它诞生于1991年的10月5日(只是第一次正式向外公布的时间).以后借 ...

  7. Linux 的计划任务

    Linux操作系统定时任务系统 Cron 入门 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动 ...

  8. 2011年排名前七位的Linux操作系统。

    下面列出了2011年排名前七位的Linux操作系统. Ubuntu Ubuntu 是一个由全球化的专业开发团队建造的操作系统.它包含了所有您需要的应用程序:浏览器.Office 套件.多媒体程序.即时 ...

  9. Linux 的计划任务(运维基础|可用于提权)

    Linux操作系统定时任务系统 Cron 入门 先写笔记: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户 ...

随机推荐

  1. PHP——isset和empty

    前言 对于这两个PHP函数大家肯定都很熟悉,但是其二者的区别又有那些呢? 对比 isset  | 检测变量是否被设置过 1. 变量不存在,返回FALSE 2. 变量存在且其值为NULL,返回FALSE ...

  2. gcc链接,去掉不用的函数和data

    编译代码的时候,没有用到的函数经常会被编译,该怎么才能去掉呢? 解决方法: CFLAGS 加上 -ffunction-sections -fdata-sections LDFLAGS 加上 --gc- ...

  3. 音频处理EQ的基本概念

     我们通常所说的人声,歌声以及乐声都是一个复合音,也就是由声音的基音和一系列的泛音所构成的.这些泛音都是基音频率的倍数,物理学中叫分音,电声学中叫谐波,音乐中则把它们称做泛音.可以说,泛音对音色的特性 ...

  4. python接口自动化(十一)--发送post【data】(详解)

    简介 前面登录博客园的是传 json 参数,由于其登录机制的改变没办法演示,然而在工作中有些登录不是传 json 的,如 jenkins 的登录,这里小编就以jenkins 登录为案例,传 data ...

  5. 面向对象之七大基本原则(javaScript)

    1. 前言 2. 单一职责 3. 开闭原则 4. 里氏替换 5. 依赖倒置 6. 接口隔离 7. 迪米特法则 8. 组合聚合复用原则 9. 总结 1. 前言 面向对象编程有自己的特性与原则,如果对于面 ...

  6. RDIFramework.NET V3.3 WinForm版角色授权管理新增角色对操作权限项、模块起止生效日期的设置

    在实际应用在我们可能会有这样的需求,某个操作权限项(按钮)或菜单在某个时间范围内可以让指定角色访问.此时通过我们的角色权限扩展设置就可以办到. 在我们框架V3.3 WinForm版全新增加了角色权限扩 ...

  7. 浅谈Google Chrome浏览器(理论篇)

    注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...

  8. OpenCC的编译与多语言使用

    OpenCC全称Open Chinese Convert,是一个Github上面的开源项目,主要用于简繁体汉字的转换,支持语义级别的翻译.本文就来简单介绍一下该库的编译以及python.C++和JAV ...

  9. 【大数据安全】Kerberos集群安装配置

    1. 概述 Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份.它也指由麻省理工实现此协议,并发布的一套免费软件.它的设计主要针对 ...

  10. SpringCloud-sleuth-zipkin链路追踪

    什么是Zipkin? 它是一个分布式链路跟踪系统它可以帮助收集时间数据,每个应用程序向Zipkin报告定时数据,Zipkin UI呈现了一个依赖图表来展示多少跟踪请求经过了每个应用程序:如果想解决延迟 ...