13 ,定时任务

版权声明:欢迎大家学习讨论,拒绝盗版 https://blog.csdn.net/qq_34319644/article/details/90902936

一 ,初体验 :每分钟都向文件书写内容

1 ,定时任务的作用 :

类似于闹钟,到什么时候就去做什么事

2 ,安装 :

  1. 我们的 centos6.9 :跟随系统一起安装了,不需要手动安装
  2. 如果版本太低,就手动安装 :
    yum install -y crontabs

3 ,初体验 : 每分钟写入 “heima” 到 /root/e.txt 文件中

  1. 新建文件 e.txt
    cd /root
    touch e.txt
  2. 查看文件内容 :
    cat e.txt
  3. 命令测试 :什么命令可以做到,把内容写入文件
    echo heima>>e.txt
  4. 查看文件内容 : 成功的看到了 “heima”
    cat e.txt
  5. 打开定时任务文件 :
    crontab -e
  6. 书写定时任务 : 每分钟实行一次
# print heima into /root/e.txt
* * * * * echo heima>>/root/e.txt
  1. 监控那个文件,看看有没有执行我们的定时任务 :
    tail -F /root/e.txt
  2. 时时查看任务 : 看看吧,每个一分钟,都会多出一行 heima
    tail -F /root/e.txt
  3. 停止查看 :
    ctrl + C

二 ,详解 :

1 ,crond 与 crontab :

crond : 定时任务的守护进程,这个我们不管。
crontab :定时任务的命令,我们只用这个。

2 ,为什么用定时任务 :

  1. 服务器都是全天候开机的。
  2. 重要的数据,至少 1 天备份一次,一般都是在夜深人静的时候做的备份,例如半夜 2:00 备份。
    我们怎么做 :我们不可能每天半夜爬起来做,我们用定时任务来做。
  3. 以后做大数据的话 ,每天对数据进行一次计算,通常也是晚上,比如半夜 2:00
    做法 : 依然是定时任务

3 ,时间尺度 :分

  1. crontab :分钟级别
    每分钟会检查,系统中是否有需要执行的定时任务,只能执行分钟级别的任务
  2. 秒级任务怎么办 ?
    自己写 shell 脚本,关于 shell 脚本的编写,明天,将会用一天的时间慢慢讲。
  3. 为什么只做到分钟级别呢?会不会太弱了?
    当然不弱,分钟级别已经够了,因为,我们的大数据任务,通常一天进行一次计算,或者每个月进行一次计算,不需要每秒钟一次。

4 ,编写定时任务文件 : ( 记住 )

crontab -e

5 ,查看定时任务文件 : ( 记住 )

crontab -l

6 ,查看定时任务用法 :

man crontab
退出查看 : q

7 ,全部参数 : ( 了解 )

-l 查看 ( 常用 )
-e 编辑 ( 常用 )
-r 删除任务
-i 删除任务确认 ( y/n )
-u 指定使用这个任务的用户

8 ,定时任务 :原理

  1. 一句话理解定时任务 :
    1 ,编写定时任务,实质上就是在编写 /var/spool/cron/root .
    2 ,只要这个文件被改变,定时任务,立即生效,啥也不需要做。
  2. crontab -e 实际上就是在编辑文件 /var/spool/cron/root
    相当于 vi /var/spool/cron/root
  3. 这个文件 ( /var/spool/cron/root ) 有什么用 :
    保存着与定时任务有关的信息
  4. crontab -l 实际上就是在查看文件 /var/spool/cron/root
    相当于 cat /var/spool/cron/root

9,全部参数设定 : 分时日月周

  1. 查看 crontab 的用法
    cat /etc/crontab
  2. 看到介绍 :分时日月周
    在这里插入图片描述
  3. 特殊字符的用法 :*
    1 ,目的 : 每天,每分钟都执行任务 :
    2 ,命令 :crontab -e
    3 ,文件内容 :
* * * * * echo heima>>/root/e.txt
  1. 特殊字符的用法 :,
    1 ,目的 :每个小时的 1 分,2 分,3 分 都执行任务 :
    2 ,命令 :crontab -e
    3 ,文件内容 :
1,2,3 * * * * echo heima>>/root/e.txt
  1. 特殊字符的用法 :-
    1 ,目的 : 每个小时的 4,5,6,7,8,9,10,11,12 分,都执行任务 :
    2 ,命令 :crontab -e
    3 ,文件内容 :
4-12 * * * * echo heima>>/root/e.txt

猜你喜欢

转载自blog.csdn.net/qq_34319644/article/details/90902936