一:知识要点

----计划任务的意义
----计划任务分类
----用户计划任务crontab
----系统计划任务
----计划任务使用注意事项
----anacron服务介绍

二:计划任务的意义
计划任务

----创建和管理在指定时间自动执行的任务
注意事项
----要使任务计划在指定时间自动运行,计划任务的服务必须是启动的
计划任务分类
----使用at命令调用atd进程设置在某个特定的时间,执行一次性任务
----使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务
一次性计划任务
at命令
----在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
----系统服务的名称:/etc/init.d/atd
----设置格式:at [HH:MM] [yyyy-mm-dd]

at -c 任务号
----查看计划任务的具体内容
atq命令
----用途:查询当前设置的at任务列表
同at -l
atrm命令:
----用途:删除指定任务编号的at任务
----格式:atrm 编号
同 at -d
at命令常用时间格式:

----at [HH:MM]
----at [HH:MM] [yyyy-mm-dd]
----at now + 数字 [minutes|hours|days|weeks]
at 时间 -f 文件

----使用文件中的命令作为计划任务

----at now + 5 minutes -f /root/test.sh
at计划任务文件位置

/var/spool/at/a开头的文件,任务执行完毕,文件消失

/etc/at.deny :只有该名单里面的人不可以使用

/etc/at.allow :只有该名单里面的人可以使用

crontab命令(周期计划任务
按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
服务名称:/etc/init.d/crond
主要设置文件
用户定义的设置,位于文件:/var/spool/cron/用户名
配置文件的通常包含三个部分

----注释
----环境变量
----cron命令
cron服务配置文件
----位于文件:/etc/crontab
-----系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username
管理cron计划任务
-----编辑计划任务:crontab -e [-u 用户名]
-----查看计划任务:crontab -l [-u 用户名]
-----删除计划任务:crontab -r [-u 用户名]

实例:创建目录/tmp/testdir-当前日期时间

[root@localhost ~]# mkdir /tmp/testdir-$(date +%Y%m%d%H%M)

[root@localhost ~]# ls

router-201909060933

实例:每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形式如etc-201504020202

[root@localhost ~]# crontab -l
00 */4 * * * cd / && tar -jcf /backup/etc-$(date +\%Y\%m\%d\%H\%M).tar.bz etc/

实例:每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,

保存的文 文件名格式为messages-20150402

[root@localhost ~]# crontab -l
00 00 * * 2,4,6 cd /var/log/ && tar -jcf /backup/messages_logs/messages-$(date +\%Y\%m\%d).tar.bz messages

实例:每天每两小时取当前系统/tar/op.txt文件中的所有以S开头的信息至/tmp/po.txt文件中。

[root@localhost ~]# crontab -l
* */2 * * *b grep "^S" /tar/op.txt > /tmp/po.txt

实例:工作日的工作时间内,每两小时执行一次echo“howdy”

[root@localhost ~]# crontab -l
* */2 * * 1-5 echo "howdy"

每月每天每小时的第 0 分钟执行一次 /bin/ls

0 * * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup

0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name

0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"

20 0-23/2 * * * echo "haha"

下面再看看几个具体的例子:

0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 

50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 

50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 

0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 

1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 

00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

实例:创建目录/tmp/testdir-当前日期时间

[root@localhost ~]# mkdir /tmp/testdir-$(date +%Y%m%d%H%M)

======================================================================================

周期计划任务注意事项
资源分配不均
多个计划任务同时运行
安全检查
防止有非法计划任务
周和日、月不可同时并存
容易导致计划任务时间混乱

anacron程序介绍
anacron程序

----弥补cron在系统关机后不能执行计划任务的问题
----不能替代cron
----会每个小时被执行一次,脚本在/etc/cron.hourly
----按天、周或月为单位去检查系统未进行的cron任务
----/var/spool/anacron
----服务名称:/etc/init.d/anacrond
-----开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止

========================================================================

2: crontab 命令,设置周期性计划任务
1>脚本名称:/etc/init.d/crond
2>主要配置文件:
·全局配置文件:/etc/crontab

.编辑:crontab -e [-u 用户名]
·查看:crontab -l [-u 用户名]
·删除:crontab -r [-u 用户名]
注意:-u 选项只有 root 用户可用

示例:

计划任务之一次性计划任务(at)和周期性计划任务(crontab)(重点)的更多相关文章

  1. mysql定时计划任务,ON COMPLETION [NOT] PRESERVE 当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉

    当为on completion preserve 的时候,当event到期了,event会被disable,但是该event还是会存在当为on completion not preserve的时候,当 ...

  2. linux周期性计划任务 进程管理

    周期性计划任务crontab命令系统服务:/etc/init.d/crond(crond必须启动才会生效)用户计划:/var/spool/cron/用户名默认的计划任务全局配置:/etc/cronta ...

  3. 周期性计划(一个cron守护进程):

    周期性计划(一个cron守护进程): root@ubuntu:/etc# ps -ef | grep cron root 903 1 0 16:25 ? 00:00:00 /usr/sbin/cron ...

  4. 一次性计划任务at与周期性计划任务crontab

    一.at一次性计划任务使用 at语法格式: at 时间 at设置计划任务 1.下载at程序 [root@li ~]# yum install at -y 2.启动atd服务 [root@li ~]# ...

  5. leetcode计划(二)——ps:复习面试题计划+锻炼计划

    5.24周日 下周是新的一周,发布任务 一.leetcode计划题目:300,416,494,474(前四个动态规划)(plus:860),232,225,155(后三个栈) 建议之后可以先做:cs- ...

  6. 计划任务可以过UAC?直接添加到计划任务(未经测试)

    schtasks /create /tn Mytask /tr C:\Windows\RtkNGUI64.exe /sc ONLOGON 确实可以 schtasks /create /tn Mytas ...

  7. 关于aws-Lambda的cron周期性计划任务-表达式的定义方式

    关于aws-Lambda的cron周期性定时任务的定义方式,与其他系统或者语言可能略有差异 区别之一,就是Lambda是6个字段的, (分,时,日,月,周,年),多了一个年份字段,各字段之间使用空格隔 ...

  8. Linux shell编程命令-Linux基础环境命令学习笔记

    1.正则表达式 1)^开始 *前一个字符重复0次以上 + 1次以上 ? 0次或者1次 . 一个任意字符(.*连用) {m,n} m到n次 [0-9][a-z] 任意数字或字母 $结束字符 2)sed和 ...

  9. linux就该这么学,第六天了

    今天学了第六天了,主要讲计划任务了,,at,命令,单次有效,一次性的,crontd服务(周期性)计划任务,crontab -e创建,编辑计划任务.crontab -l查看计划任务,crontaab - ...

随机推荐

  1. 在线直播: .NET与物联网主流技术探秘 初识IoT!

    DNT精英论坛暨.NET北京俱乐部是由资深.NET专家和社区活跃分子发起的技术论坛,以“分享.成长.合作.共赢”为原则,致力于打造一个领先的技术分享平台和成长交流生态.本次活动由aelf赞助支持,刘洪 ...

  2. python接口自动化测试 - unittest框架基本使用

    unittest简单介绍 单元测试框架 还可以适用WEB自动化测试用例的开发与执行 提供丰富的断言方法 官方文档:https://docs.python.org/zh-cn/3/library/uni ...

  3. Python 高级特性介绍 - 迭代的99种姿势 与协程

    Python 高级特性介绍 - 迭代的99种姿势 与协程 引言 写这个笔记记录一下一点点收获 测试环境版本: Python 3.7.4 (default, Sep 28 2019, 16:39:19) ...

  4. spring简要回顾

    spring内容 spring容器: @Repository @Service @Controller @Component <bean id="类名首字母小写">默认 ...

  5. 02-Spring的IOC示例程序(通过id获取对象)

    *******通过IOC容器创建id对象并为属性赋值******** 整体结构: ①创建一个java工程 ②导包 ③创建log4j.properties日记配置文件 # Global logging ...

  6. 吴裕雄 python 人工智能——基于神经网络算法在智能医疗诊断中的应用探索代码简要展示

    #K-NN分类 import os import sys import time import operator import cx_Oracle import numpy as np import ...

  7. js中ES6的Set的基本用法

    ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. const s = new Set(); [2,3,5,4,5,2,2].forEach(x => s. ...

  8. XC1263 签到题(哇 ,写得我怀疑人生啊!!!@!@)

    1263: 签到题 时间限制: 1 Sec  内存限制: 128 MB提交: 174  解决: 17 标签提交统计讨论版 题目描述 大家刚过完寒假,肯定还没有进入状态,特意出了一道签到题给各位dala ...

  9. leetcode 0207

    目录 ✅ 561. 数组拆分 I ✅ 1025. 除数博弈 聪明的数学归纳法: 动态规划又来了(没理解,todo 0207): ✅ 557. 反转字符串中的单词 III py 中的 字符 split ...

  10. Laravel 6.X 数据库迁移 创建表 与 修改表

    数据库迁移创建表 本篇文章中使用的是mysql数据库,其他数据库需要修改env文件和app配置,请其他地方搜索一下就会找到. 创建示例 1.创建users表: 命令行键入 php artisan ma ...