CROND 定时任务 - 学习

简介:

定时任务 CROND (守护进程)

程序 : 静止

进程 : 动态

crontab 设置命令 

     -l : list 列表

    -e : 编辑

    -r : 删除

    -i : 删除前确认

    -u : 指定操作用户

1
2
3
4
5
6
7
[root@beiyong2 ~] # chkconfig --list crond   #可以查看 crond 是否运行
[root@beiyong2  cron ] # crontab -e   #编辑 定时文件 
############         #输入若干#
[root@beiyong2  cron ] # crontab -l      #查看定时任务
##########
[root@beiyong2  cron ] # cat /var/spool/cron/root         #定时任务相对应的文件,不同用户对应不同文件名
##########


1
2
[root@beiyong2  cron ] # ls -l `which crontab`         # crontab 命令具有 SetUID 权限
-rwsr-xr-x. 1 root root 51784 3月  30 2015  /usr/bin/crontab


[root@beiyong2 cron]# cat /etc/crontab    #定时任务的基本格式 


wKiom1giq-jyAxTsAABnbQXKAfE569.jpg


" * " 代表 '每' 的意思     5 * * * *           #每五分钟执行一次命令  

                                      00 23 * * *      #每天23点执行命令

                            

" - " 代表范围              00 17-19 * * *        #每天17 18 19点整数点执行

" , " 代表分隔               30 17,18,19 * * *    #每天 17:30 18:30 19:30 执行

" /n " 代表每单位时间       */10 * * * *         #每10分钟进行执行

30 3-5,17-19 * * *     #每天的3:30 4:30 5:30 17:30 18:30 19:30执行

30 */6 * * *               #每隔 6 个小时的半点时刻

30 8-18/2 * * *         #每天 8 点到 18 点每隔 2 个小时的半点时刻

30 21 * * *                #每天的 21:30 执行

45 4 1,10,22 * *        #每月 1 号 10 号 22 号的 4:45 执行

10 1 * * 6,0               #每周六周日 1:10 执行

0,30 18-23 * * *        #每天18至23点之间,每间隔30分钟重启

00 */n * * *               #每隔 1 小时的整点

00 11 * 4 1-3           #4月的每周1,2,3的11点整

 

练习 : 每分钟在 /server/log/haha 中打印 haha 的全拼     (在命令中先测试成功,然后添加定时任务)

1
2
3
4
5
6
[root@beiyong2 ~] # crontab -e
* * * * *  echo  "haha"  >>  /server/log/haha .txt          #添加将要执行的命令
[root@beiyong2 ~] # mkdir -p /server/log              #为其创建目录
[root@beiyong2 ~] # tail -f /server/log/haha.txt    #跟踪一个文件(-f 动态查看)        
haha
haha


小结 : 

  1.   最好添加注释

  2. /server/log 目录需要事先存在

  3. 定时任务一定要使用绝对路径

  4. crond 服务必须开启运行

  5. 在命令行中先测试成功,在添加定时任务

  6. 生产任务程序不雅随意打印输出信息

  7. 定时任务执行的脚本要规范(/server/scripts)

  8. 配置定时任务规范操作过程


练习 : 每周六,日上午9:00和下午14:00,去学校上课 

要求 : /server/scripts/oldboy.sh 脚本的功能是打印当前的日期 : 格式为 xxxx-xx-xx

1
2
3
4
5
6
7
8
[root@beiyong2 ~] # mkdir -p /server/scripts          #首先创建目录
[root@beiyong2 scripts] # echo 'date +%F' > /server/scripts/date.sh      
[root@beiyong2 scripts] # chmod +x date.sh
[root@beiyong2 scripts] # ./date.sh           #在命令行中测试脚本
2016-07-16
[root@beiyong2 scripts] # crontab -e
00 9,14 * * 6,0  /bin/bash  /server/scripts/date .sh  &>  /dev/null    # &> /dev/null 可以保证innode不会被占用
df  -i  可以查看innode号是否被占满


练习 : 每隔 2 个小时将系统文件 /etc/service 文件打包备份到 /tmp 下 ( 每次备份按时间生成不同的备份包 )

1
2
3
4
#!/bin/bash      #在命令行中测试正确后写入脚本,并且测试脚本正确性
cd  /etc/  &&  tar  -zcf  /tmp/service_ $( date  +%F-%H). tar .gz . /services
[root@beiyong2 scripts] # crontab -l       
00 * /2  * * *  /bin/sh  /server/scripts/services .sh &>  /dev/null      #添加定时任务

1.到目标内容的上级目录打包

2.打包的频率是分,包名必须精确到分

3.确保命令执行正确,然后写到脚本


本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1827449
相关文章
crontab 定时任务
crontab 定时任务
|
2月前
|
存储 消息中间件 移动开发
还在用crontab? 分布式定时任务了解一下
还在用crontab? 分布式定时任务了解一下
|
4月前
|
Linux
Linux定时任务:详解crontab与crond
Linux定时任务:详解crontab与crond
|
5月前
|
Linux Shell 开发工具
什么是crontab定时任务?
定时任务在Linux系统中用的是比较多的,个人的话一般用的很少,在企业中定时任务是必不可少的,定时任务多种多样,有程序的定时任务,比如:写一个程序在程序内定时执行,或者是操作系统的定时任务,比如:Windows系统的定时任务、Linux系统的定时任务,他们的名称、操作方式都不相同,但是他们都有一个共同的特征,在**某个特定的时间或者时间段执行某项任务**,这类通常被我们称之为定时任务,再举个例子,我们手机的闹钟、或者街边的路灯,这些都是定时任务,闹钟会在早上7点发出音乐,路灯会在晚上6点开灯,这些都是生活中的定时任务,今天记录一下在Linux系统中如何使用定时任务
什么是crontab定时任务?
|
5月前
|
运维 Linux 应用服务中间件
Linux 定时任务crontab实现秒级定时以及@reboot的一些问题
Linux 定时任务crontab实现秒级定时以及@reboot的一些问题
680 0
|
5月前
|
监控 Linux
Crond计划任务的简单使用
crond是Linux系统中的一个守护进程,负责定期执行预设的任务,也称为计划任务。它可以根据用户的需求,在指定的时间、日期或周期性地执行特定的命令或本crond的用是自动化和定时执行任务,可以用来实现系统维护、数据备份、监控等功能。通过ond,用户可以在系统闲置或指定的时间段执行一些重复性的任务,免手动操作带来的繁琐和错误。
82 0
|
5月前
|
Kubernetes 容器
k8s-通过定时任务实现时间同步
k8s-通过定时任务实现时间同步
195 0
|
Java Spring
使用定时任务 随着项目启动定时执行
使用定时任务 随着项目启动定时执行
301 0
|
Linux 调度
Linux:crond任务调度之at定时任务
Linux:crond任务调度之at定时任务
104 0
Linux:crond任务调度之at定时任务
|
Unix Linux Shell
cron设置定时任务详解
cron设置定时任务详解