Linux定时任务crond和crondtab

来源:互联网 发布:中国流动人口数据 编辑:程序博客网 时间:2024/05/22 12:00

crond:作业规划进程是Linux下用来定期执行命令或指定程序任务的一种服务或软件。
安装完操作系统后,默认会启动crond任务调度服务。crond服务会定期检查系统中是
否有要执行的任务。如果有要执行的任务便会自动执行该任务。

查看crond服务状态命令:

service crond status

启动crond服务

service crond start

crondtab: crondtab是一个可以在crond服务上添加或编辑定时任务的命令。

crondtab用法:

crontab [-u user] file
crondtab [-u user] [ -e | -l | -r]

参数 意义 -l 查看当前用户的定时任务 -e 编辑当前用户的定时任务 -r 删除定时任务 -i 删除crondtab文件内容,删除前会有提示 -u 删指定使用用户执行任务

在etc/目录下有一个crontab文件,这个就是系统调度的配置文件

这里写图片描述

crontab语法格式中的特殊符号含义:

符号 意义 例子 * *表示任意的意思 0 8 * 2 * ls 表示2月份每天早上8点都执行ls命令 - 表示一个区间 0 8-9 * 3 * ls 表示2月份每天早上8-9点都执行ls命令 , 表示分隔符 0 8,9 * * 2 ls 表示每周二早上8点和9点执行ls命令 /n 表示每n个时间单位 0 /1 2 *表示2月份每天的每隔一个小时都执行ls命令

常见的分时任务分为两类:
1.linux系统自身定期执行的任务工作
例如:轮询系统日志,备份系统数据,清理系统缓存
2.用户执行的任务工作
例如:备份数据库数据,更新时间等

编写crondtab需要注意的问题:
1. 添加注释
2. 定时任务中的命令和文件一定要使用绝对路径
3. 一条定时任务包含多条命令最好使用脚本
4. 定时任务要先测试再写入文件
5. 定时任务最好不要打印出执行信息,在后面加上>/dev/null 2>&1

拓展: /dev/null特殊字符设备,即黑洞设备
1>或>输出重定向
1>>或>>追加重定向
<0或<输入重定向
<<0或<<输入追加重定向
2>错误重定向,即错误信息重定向
2>>错误追加重定向
2>&1将标准错误重定向到标准输出
0 标准输入 1 标准输出 2标准错误输出
>/dev/null 2>&1 等价于 1>/dev/null 且2>/dev/null即将输出都重定向到黑洞设备

例子:
1. 使用crontab -e 编辑好定时任务。我让每隔一分钟向test.c文件里打印hello。
这里写图片描述