centos crontab路径 centos7下载地址

其实centos crontab路径的问题并不复杂,但是又很多的朋友都不太了解centos7下载地址,因此呢,今天小编就来为大家分享centos crontab路径的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

CentOS下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

CentOS7计划任务crontab

计划任务的基本概念

Linux系统通过crond守护进程实现周期性执行任务或处理事件,crond服务每分钟检查是否有需执行的任务并自动执行。Linux计划任务分为用户和系统两类。

用户计划任务

每个用户可定义计划任务,通过crontab文件实现,每个用户拥有独立的文件。

查看crontab文件:root用户可使用-u参数查看指定用户,普通用户仅查看自身。

编辑crontab文件:root用户可使用-u参数编辑指定用户,普通用户仅编辑自身,缺省编辑器为vi。

删除crontab文件:root用户可使用-u参数删除指定用户,普通用户仅删除自身。

crontab文件格式

任务由执行时间和执行命令两部分组成。

执行时间:分钟、小时、月中的天、月份、星期天,可使用星号、逗号、中杠、正斜线等特殊字符表示。

执行命令:程序路径,注意环境变量问题和全路径问题。

crontab示例

每两分钟执行一次date命令,结果输出到/tmp/date.log。

在每个小时的05、10、15分执行一次date命令。

在每个小时20-30分之间的每一分钟执行一次date命令。

在每天的10:30分执行一次date命令。

在每个月1号的02:30分执行一次date命令。

在每星期天的02:30分执行一次date命令。

系统计划任务

系统级别的周期性任务通常包括系统备份、缓存数据写入、日志清理等,配置在/etc/crontab文件中。

示例:使用环境变量执行SQL脚本,步骤包括准备脚本文件、添加环境变量、执行任务等。

用户计划任务执行环境变量程序

用户计划任务无法设置环境变量,通过编写脚本文件解决,脚本中设置环境变量并执行程序。

应用经验

用户和系统计划任务功能相似,用户计划任务通过脚本更灵活。实际项目中使用用户计划任务,尽管crontab文件不支持环境变量,但可借助脚本文件实现。如有错误或建议,请留言指正。

Centos下crontab指定执行用户

Centos下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行。配置crontab有两种方法。

方法1、使用crontab命令,例如添加一个新的或编辑已有的,使用:

crontab-e

就可以进入配置文件。此时配置crontab的执行者是当前登入用户,如果当前用户是root,需要为其他用户配置,可以使用

crontab-e-u用户名

su用户名

crontab-e

这种方法有一个缺点,就是当前系统中配置的crontab不在一个配置文件中,让管理员不方便查询系统到底有多少个crontab。

方法2、直接在/etc/crontab文件中添加,不过需要是root身份。打开文件,应该会看到类似下面的信息

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

要添加新的crontab,只需要在文件最后增加即可。注意这里面需要指定用户名;而方法1中则不需要,如果指定了,它会认为是命令的一部分,从而可能导致crontab执行失败。

如果服务器都是有root来管理,建议添加crontab使用方法2,这样系统中的所有计划任务都在一起,一目了然。

阅读剩余
THE END