2019.8.14 Day 22 Linux操作系统定时任务

课程介绍部分:

1.定时任务概念介绍

2.定时任务现实方法

3.定时任务配置应用

4.定时任务操作练习

一、系统定时任务概念==生活中的闹钟
1.时间信息有时不准 时间同步操作 每过10分钟
2.备份数据信息 凌晨(代替人完成一些任务)
二、系统定时任务实现方法:
1.定时任务软件:cronie ******
2.定时任务软件:atd 设置一次定时任务,执行一次
3.定时任务软件:anacron 定时时间有固定设置 每小时实现定时任务配置
4.实现定时任务配置
01.系统默认定时任务配置:
cron.hourly/-----每小时执行目录中脚本文件
cron.daily/----每天执行目录中脚本文件
cron.weekly/----每周执行目录中脚本文件
cron.monthly/-----每月执行目录中脚本文件

vim oldboy. sh

!/bin/bash

echo"info$(date+%F %T)">/tmp/test cron.txt

02.用户定义设置定时任务
一个命令 两个文件
crontab-----设置和查看定时任务命令

crontab -l ------查看设置的定时任务

crontab-e --------编辑设置定时任务/语法检查功能

配置文件:
/var/spool/cron/root-------root用户设置定时任务配置文件
/var/spool/cron/oldboy-----oldboy用户设置定时任务配置文件
/var/log/cron --------定时任务日志文件
05.定时任务如何进行配置
准备工作:
systemctl start crond
systemctl enable crond

编写定时任务:
[root@oldboyedu ~]# cat /etc/crontab --- 定时任务样例文件
SHELL=/bin/bash 环境变量信息
PATH=/sbin:/bin:/usr/sbin:/usr/bin 环境变量信息
MAILTO=root

# For details see man 4 crontabs

# 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

定时任务时间信息 执行任务信息
* * * * * 命令/脚本

时间信息: 
*(分) *(时) *(日) *(月)  *(周)
分钟: 0-59 
小时: 0-23
日期: 1-31    
月份: 1-12 
星期: 0-6

任务信息:
cp /etc/host /etc/hosts.bak

练习:
01. 凌晨2点半 将数据进行备份
    crontab -e
    30 2 * * *  cp /etc/host /etc/hosts.bak
    如何验证定时任务功能:
    01. 实时监控定时任务日志信息
    [root@oldboyedu ~]# tail -f /var/log/cron
    Jul 30 16:56:25 oldboyedu crontab[42580]: (root) BEGIN EDIT (root)
    Jul 30 16:56:38 oldboyedu crontab[42580]: (root) REPLACE (root)
    Jul 30 16:56:38 oldboyedu crontab[42580]: (root) END EDIT (root)
         01            02        03                04
    Aug  1 02:30:01 oldboyedu CROND[42950]:   (root) CMD (cp /etc/host /etc/hosts.bak)
    1): 编写定时/定时任务触发  时间信息
    2): 主机名称信息
    3): 读取什么定时任务文件信息
    4): 定时任务完成了事情
    
    02. 加快定时任务执行
    调整时间信息
    PS: 调整时间尽量向后调整

02. 下午3点40,8月6日,周日 将数据进行备份  错误?
    40 15 6 8 0   和女朋友发生小秘密
    PS: 在设置时间信息时, 周信息不能和日期信息一起设置

03. 每隔1个小时, 数据备份
    /n   每隔多久执行定时任务            间隔多久
    *    每分钟 每小时 每天 每月 每周
    0  */1 * * * cp /etc/hosts  /etc/hosts.01   正确 
    *  */1 * * * cp /etc/hosts  /etc/hosts.01   问题
    说明: 每隔一小时会执行
    1:00  ---  2:00  执行时间条件
    *     ---  每分钟执行
    PS: 在设置好一个时间信息, 前面的时间也要做规划
    
04. 每天上午9,10,11,12点 执行数据备份  
    -   连续的时间范围  
    0 9-12 * * * cp /etc/hosts  /etc/hosts.01      规范配置
    0 9-12/1 * * *  cp /etc/hosts  /etc/hosts.01   理论正确
    间隔1小时执行 9-10  and  9-12点执行  

05. 每天上午9 11        执行数据备份 
    ,   非连续的时间范围
    0  9,11  * * *  cp /etc/hosts  /etc/hosts.01
    
时间表示形式:
*   每多少时间
*/n 每隔多久  间隔时间
1-10 连续时间范围    
1,10 非连续时间范围

脚本编写定时任务:
第一个里程: 编写脚本信息
第二个里程: 测试脚本执行效果
/bin/sh /server/scripts/test.sh
第三个里程: 放入定时任务中(绝对路径)
第四个里程: 调整时间信息进行测试
第五个里程: 检查日志信息/检查任务执行结果

测试环境测试定时任务没问题:
执行脚本将线上服务器定时任务做改动

compress.sh 
#!/bin/bash
tar xxxxx

#!/bin/bash 
echo "* * * * *  /sh/bin /server/scripts/compress.sh"  >>/var/spool/cron/root
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容