Linux crontab 定时任务

1 crond
Crond是Linux系统中用来定期执行命令或制定程序任务的服务,通过crontab我们可以在固定的间隔时间执行指定的系统指令或shell script脚本,适合周期性的日志分析或者数据备份,时间间隔的耽误可以是分、时、日、月、周以及以上任意组合。

2 任务调度
任务调度:是指系统在每个时间执行的 特定的命令或程序。
Linux任务调度的工作可分为两类:
  1. 系统自身执行的工作:系统周期性执行的任务工作,如轮询系统日志,备份系统数据,清理缓存。
  2. 个别用户工作:某个用户定期要做的任务工作,例如对MySQL数据库的备份。

3 crontab命令
crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表。
基本语法: crontab 【选项】
常用命令:
crontab -e   进入编辑crontab定时任务界面(vim)
crontab -l   查询当前用户所有的crontab任务
crontab -r   删除当前用户所有的crontab任务
server crond restart 重启所有的crontab任务

4 crontab可定时执行 某个命令或脚本
例子1:
* * * * * ls -l /home >> /tmp/outputls.txt   每分钟执行一次ls命令并将结果输出到outputls.txt
例子2:
* * * * * /home/mytask1.sh   每分钟执行一次mytask1.sh脚本

总结:crontab命令的构成为 时间+动作,时间由五个占位符组成,分别代表分、时、日、月、周,之间用空格隔开。
第一个占位符  代表一小时当中的第几分钟  取值范围为0-59
第二个占位符  代表一天当中的第几个小时  取值范围为0-23
第三个占位符  代表一个月当中的第几天    取值范围为1-31
第四个占位符  代表一年当中的第几月      取值范围为1-12
第五位占位符  代表一周当中的星期几      取值范围为0-7(0和7都代表星期日)

特殊符号的说明:
*   代表任何时间。如例子中第一个*,代表一小时中每分钟都执行一次
,  代表不连续的时间。如“0 8,12 * * * 命令”,代表在每天的8点0分,12点0分 各执行一次命令
-   代表连续的时间范围。如“0 5 * * 1-6 命令”,代表在周一到周六的5点0分 执行命令
*/n 代表每隔多久执行一次。如“*/10 * * * * 命令”,代表每隔10分钟就执行一次命令

5 新建crontab任务
step1 crontab -e  进入vim命令模式;
step2 按i进入编辑模式,编辑完成后 按ESC返回vim命令模式;
step3 :wq保持退出,即新建crontab成功

Linux crontab 定时任务

 Linux crontab 定时任务

上一篇:通过crontab守护某个进程,防止进程挂掉或者存在多个进程


下一篇:shell程序的编写