CronTab 任务周期计划

简介:

CronTab 任务周期计划

格式:
 * * * * *  command
分(0-59)、时(0-23)、日(1-31)、月(1-12)、周(0-6)
 
说明:
 1、星号可以匹配所有字符
2、一个整数、必须精确匹配
3、用短划线隔开的两个整数,它们匹配的是值的范围。
4、时间范围后加斜扛和一个步长值。1-10/2
 
普通用户流程:
crontab -e crontab是设置了setuid的,所以用户具有他的权限也就是root,并会在/tmp/cron....文件处理后保存在/var/spool/cron/$username中。
日志:
/var/log/cron
配置目录:
/var/run/crond.pid 进程号地址
/etc/crontab 使用指导文件
/etc/$weekday. 等分别时日月周的目录,即可以把脚本放进去他会按时执行。
/etc/cron.{deny,allow} 拒绝和允许用户使用crontab
 
Vixie-Cron:
centos安装时会默认安装此包,此包可以包括一个步长值。也就是如1,3,6,9,12 可以写成,1-12/3 除以3。所谓的*/1 */2也就是每一分钟每两分钟运行command。即1-59/{2,3}。
 
%号的运用:
%百分号表示command中的换行,只有第一个百分号之前的文本才包含在实际命令中,其余的行则作为该命令的标准输入。
 
安装:
yum install -y crontabs
使用:
 crontab --help
crontab -e #检出一个crontab副本,调用vi编辑它,并重新保存在crontab目录。
crontab -l #将crontab的内容打印到标准输出。
crontab -r #册除并不留任何内容。
......
 
root册除其它用户。
crontab -r $username
 [root@nagios ~]# crontab --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
[root@nagios ~]# ll /usr/bin/crontab 

-rwsr-xr-x 1 root root 47520 Jul 19  2011 /usr/bin/crontab

[root@nagios ~]# cat /var/run/crond.pid 
2074
[root@nagios ~]# ll /etc/ |grep -E cron
drwxr-xr-x   2 root root    4096 Apr  2 00:59 cron.d
drwxr-xr-x.  2 root root    4096 Sep 27  2011 cron.daily
-rw-r--r--   1 root root       0 Jul 19  2011 cron.deny
drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.hourly
drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.monthly
-rw-r--r--   1 root root     457 Sep 27  2011 crontab
drwxr-xr-x   2 root root    4096 Sep 27  2011 cron.weekly
[root@nagios ~]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# 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
[root@nagios ~]# ll  /var/spool/cron/
total 8
-rw------- 1 root   root   60 Apr  2 01:33 root
-rw------- 1 zwhset zwhset 68 Apr  2 01:51 zwhset
[root@nagios ~]# tail -5 /var/log/cron 
Apr  2 17:24:01 nagios CROND[20544]: (root) CMD (/bin/sh ~/hello)
Apr  2 17:25:01 nagios CROND[20549]: (root) CMD (/bin/sh ~/hello)
Apr  2 17:25:01 nagios CROND[20550]: (root) CMD (/bin/sh ~/hello)
Apr  2 17:25:01 nagios CROND[20551]: (zwhset) CMD (echo "hello" >> ~/1.txt)
Apr  2 17:25:01 nagios CROND[20552]: (zwhset) CMD (echo "hello" >> ~/1.txt)

 [root@nagios ~]# ps aux |grep cron

root      2074  0.0  0.5 117212  1316 ?        Ss   01:40   0:04 crond

root     20641  0.0  0.6 139684  1468 pts/1    S+   17:30   0:00 crontab -e

zwhset   20642  0.0  0.7 119284  1756 pts/1    S+   17:30   0:00 /bin/vi /tmp/crontab.YphQpH

root     20663  0.0  0.3 103236   856 pts/0    S+   17:31   0:00 grep cron

[root@nagios ~]# lsof -c crontab

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME

crontab 20641 root  cwd    DIR              253,0     4096 130818 /root

crontab 20641 root  rtd    DIR              253,0     4096      2 /

crontab 20641 root  txt    REG              253,0    47520 401259 /usr/bin/crontab

crontab 20641 root  mem    REG              253,0     5952 261889 /lib64/security/pam_deny.so

crontab 20641 root  mem    REG              253,0    18592 261891 /lib64/security/pam_env.so

crontab 20641 root  mem    REG              253,0    18592 261903 /lib64/security/pam_limits.so

crontab 20641 root  mem    REG              253,0    10224 261901 /lib64/security/pam_keyinit.so

crontab 20641 root  mem    REG              253,0    10240 261906 /lib64/security/pam_loginuid.so

crontab 20641 root  mem    REG              253,0     6040 261912 /lib64/security/pam_permit.so

crontab 20641 root  mem    REG              253,0    14384 261923 /lib64/security/pam_succeed_if.so

crontab 20641 root  mem    REG              253,0    10200 261905 /lib64/security/pam_localuser.so

crontab 20641 root  mem    REG              253,0    51952 261929 /lib64/security/pam_unix.so

crontab 20641 root  mem    REG              253,0   113432 261657 /lib64/libnsl-2.12.so

crontab 20641 root  mem    REG              253,0    14456 261884 /lib64/security/pam_access.so

crontab 20641 root  mem    REG              253,0    65928 261663 /lib64/libnss_files-2.12.so

crontab 20641 root  mem    REG              253,0 99158576 397021 /usr/lib/locale/locale-archive

crontab 20641 root  mem    REG              253,0   383504 261640 /lib64/libfreebl3.so

crontab 20641 root  mem    REG              253,0    40400 261651 /lib64/libcrypt-2.12.so

crontab 20641 root  mem    REG              253,0  1916568 261647 /lib64/libc-2.12.so

crontab 20641 root  mem    REG              253,0   113096 261709 /lib64/libaudit.so.1.0.0

crontab 20641 root  mem    REG              253,0    19536 261653 /lib64/libdl-2.12.so

crontab 20641 root  mem    REG              253,0    55848 261879 /lib64/libpam.so.0.82.2

crontab 20641 root  mem    REG              253,0   122040 261718 /lib64/libselinux.so.1

crontab 20641 root  mem    REG              253,0   154464 261636 /lib64/ld-2.12.so

crontab 20641 root    0u   CHR              136,1      0t0      4 /dev/pts/1

crontab 20641 root    1u   CHR              136,1      0t0      4 /dev/pts/1

crontab 20641 root    2u   CHR              136,1      0t0      4 /dev/pts/1

crontab 20641 root    3u  unix 0xffff88000225c380      0t0  91831 socket

crontab 20641 root    5u   REG              253,0       68 916745 /tmp/crontab.YphQpH





本文转自 煮酒品茶 51CTO博客,原文链接:http://blog.51cto.com/cwtea/1168760,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Linux Shell 开发工具
什么是crontab定时任务?
定时任务在Linux系统中用的是比较多的,个人的话一般用的很少,在企业中定时任务是必不可少的,定时任务多种多样,有程序的定时任务,比如:写一个程序在程序内定时执行,或者是操作系统的定时任务,比如:Windows系统的定时任务、Linux系统的定时任务,他们的名称、操作方式都不相同,但是他们都有一个共同的特征,在**某个特定的时间或者时间段执行某项任务**,这类通常被我们称之为定时任务,再举个例子,我们手机的闹钟、或者街边的路灯,这些都是定时任务,闹钟会在早上7点发出音乐,路灯会在晚上6点开灯,这些都是生活中的定时任务,今天记录一下在Linux系统中如何使用定时任务
什么是crontab定时任务?
|
2月前
|
Linux Shell 数据库
Linux如何在一个 Crontab 中安排多个 Cron 作业?
Linux如何在一个 Crontab 中安排多个 Cron 作业?
49 1
|
Linux PHP
Linux crontab 每分钟、每小时、每天、每周、每月、每年定时执行
Linux crontab 每分钟、每小时、每天、每周、每月、每年定时执行
crontab设置定时任务脚本文件每秒运行一次,每个月最后一天的21点到22点 每20分钟(1200秒)执行一次
crontab设置定时任务脚本文件每秒运行一次,每个月最后一天的21点到22点 每20分钟(1200秒)执行一次
1084 0
|
监控
crontab设置作业间隔执行问题
这个源于有个网友问,crontab里   */40  9  *  *  *  是不是代表9点开始每40分钟执行?  直觉这个肯定不是从9:00开始每隔40分钟执行一次,但是也不能肯定它代表一个什么样的Schedule,那就做一个实验验证一下吧(有时候明明觉得自己已经掌握了一些知识点,但是总有一些问题,你不能很确切、肯定的回答,其实说明了还有盲点,知识点了解、掌握得不够彻底)。
824 0
|
关系型数据库 Linux 调度
定时引爆之crontab
楔子 其实写一个python 或者 shell 脚本即可,以下内容只为入门学习。 接下来开始埋放地雷或者×××。 简介: 1.计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。
1041 0
|
程序员 数据库
at,crontab定时程序
介绍 程序员对于定时执行任务一定不陌生,很多任务为了减少对用户的干扰,如系统更新、维护、数据库结构变更等,通常会选择在凌晨进行。对于一些简单的无需人工照看的任务,就可以预先写好命令,并设定时间自动运行,然后就可以安心睡大觉了。
980 0
crontab 每分钟、每小时、每天、每周、每月、每年定时执行
每五分钟执行  */5 * * * * 每小时执行     0 * * * * 每天执行        0 0 * * * 每周执行       0 0 * * 0 每月执行        0 0 1 * * 每年执行       0 0 1 1 * ...
3133 0