1. > 智能数码 >

crontab配置(crontab配置文件在哪)

本文目录一览:

crontab 基础配置使用

在安装完成操作系统后,默认会安装 crond 服务工具,且 crond 服务默认就是自启动的。crond 进程每分钟会定期检查是否有要执行的任务,如果有,则会自动执行该任务。

crontab 是通过 /etc/cron.allow 和 /etc/cron.deny 文件来限制某些用户是否可以使用 crontab 命令的:

crontab 定时任务非常简单,只需执行 crontab -e 命令,然后输入想要定时执行的任务即可。

当我们执行 crontab -e 命令时,打开的是一个文件,而且操作方法和 Vim 是一致的。这个文件的格式才是我们真正需要学习的内容,文件格式如下:

通过 5 个 * 来确定命令或任务的执行时间的,这 5 个 *

时间特殊符号含义:

举例:

45 22 * * * 命令,表示 在 22 点 45 分执行命令

0 17 ** 1命令,表示在每周一的 17 点 0 分执行命令

0 5 1,15**命令,表示在每月 1 日和 15 日的凌晨 5 点 0 分执行命令

40 4 ** 1-5命令,表示在每周一到周五的凌晨 4 点 40 分执行命令

*/10 4 ***命令,表示在每天的凌晨 4 点,每隔 10 分钟执行一次命令

0 0 1,15 * 1命令,表示在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令,注意:星期几和几日最好不要同时出现,因为它们定义的都是天,非常容易让管理员混淆

当 crontab -e 编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。

在书写 crontab 定时任务时,需要注意以下几个事项:

Linux下定时任务(系统任务调度、用户任务调度)crontab使用详解

crond是Linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,在CentOS Linux release 7.2.1511中默认是开机启动的,大家可以使用命令:systemctl status crond进行查看。 crond进程定期(每分钟)检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。用户在cron表

(也被称为crontab文件)指定了定时任务,crontab也就是我们常见的定时任务设置命令。Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度 :系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。/etc/crontab文件就是系统任务调度的配置文件。

用户任务调度 :用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录中。其文件名与用户名一致,使用者权限文件如下:

通过以上帮助信息,我们可以知道crond是执行任务计划的一个守护进程。在使用crontab之前我们可以根据帮助信息来设置相关选项,一般情况下我们都使用默认值。

1.建立演示账号crontab。

2.星号(*)使用举例。

以上例子中完整演示了crontab从建立到执行的过程。“5 0 * * * echo "GeekDevOps"”表示在每天00:05执行命令:echo "GeekDevOps"。后面的星号表示只要前面条件满足都执行。例子中的-u选项指定了用户:crontab,-l选项列举了相关用户的用户任务调度,不指定用户则默认为root。执行结果默认写入到用户mail目录下的相关文件中。

3.逗号(,)的使用举例。

现在我们已经把用户切换到crontab下,因此无需额外指定-u选项相关内容。“3 2,6,8 * * *”表示每天的02:03:00、06:03:00、08:03:00分别执行一次命令:ls /usr/local。

4.减号(-)的使用举例。

例子中的“0 2-6 * * 6 df -h /”表示用户crontab在每周六的02:00、03:00、04:00、05:00、06:00执行命令:df -h / 。

5.斜杠(/)的使用举例。

例子中表示每隔2分钟执行一次命令:echo "GeekDevOps"/root/GeekDevOps.txt。

6.crontab的使用非常简单,很容易理解,只要在取值范围内设置执行的值基本是没有问题的。现在我们要删除已经设置的这些定时任务。

例子中,选项-r表示删除所有定时任务。选项-i表示在删除前进行再次确定,输入y或者Y才能真正删除。

7.备份我们设置的用户任务调度配置文件。

8.系统任务调度的使用举例。

系统任务调度与用户任务调度不一样,需要直接在/etc/crontab里面配置,如果需要指定用户,还需要在执行命令前指定用户名。通过crontab -l 命令是查看不到系统任务调度任务的。

4-13 Linux中的计划作业 --- crontab(一、crontab 命令操作)

1、 cron:是一个线程,它可以让 linux 周期性的执行某一命令。

2、linux 指定计划任务有两种方式。一种是通过 crontab 命令、另一种是通过 /etc/crontab 配置文件。下面先操作 crontab 命令,后操作 /etc/crontab 文件。

3、 crontab:是一个命令,可以设置 linux 周期性执行某一命令。

crontab 参数选项:

-u:设置某一用户的周期性工作(只有 root 权限可以设置)。

-e:编辑 crontab 的工作内容。

-l:查阅 crontab 的工作内容。

-r:移除 crontab 的所有工作内容,如需移除单项或非全部,可用 -e 编辑。

4、 crontab 的格式概括:

特殊符号(* 星号、,逗号,- 减号,/ 斜杠),特定的符号可以组合参数的格式、表示范围 和 时间周期。符号格式是表达式的一种,5 个 * 号对标参数格式图解如下:

5、特殊符号解析:

6、crontab 命令案例实操:

6)、指定时间输出 date 。

例:每小时的 0分钟(整点),15分钟、30分钟、45分钟 输出 date 时间到当前目录 date.txt 文件,如果没有 date.txt 文件则会自动创建一个。指定时间的输出,不要分钟区间的 * 号,直接写上时间。单个时间参数直接取代 * 号的位置,多个时间参数用 ,逗号隔开。

7)、例:每天晚上 22:23、22:24、22:25 输出 date 到 mydate.txt 文件。

8)、例:每天 1 点到 3 点的第 10 分钟 和第 50 分钟把 date 输出到 1-3date.txt 文件。

9)、例:每逢周 六、日的 1:00 输出 date 到 mydate.txt。

10)、例:每周日的 00:00 输出 date 到 mydate.txt。

Kali-linux 定时执行任务Crontab的简单设置

1.修改crontab文件添加或修改定时任务

直接编辑文件:nano /etc/crontab

或使用crontab命令:crontab -e

2.语法介绍:

里面已经有一些test示例,照着添加或修改就行,这里做点简单介绍:

time user command

分                 时             天           月               星期                    用户              命令

minute         hour         day         month         dayofweek         user              command

A. 时间 time:

minute: 分钟,从 0 到 59 之间的任何整数

hour: 小时,从 0 到 23 之间的任何整数

day: 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

month: 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

dayofweek: 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

command: 要执行的命令(command是linux终端可以直接执行的命令。)

这里一些符号可以表示以上特殊数值:

*表示所有有效值

-表示范围, 比如1-4(从1到4)

,表示散数数值, 比如1,2,4,7...

/表示每隔,比如 */19 (每隔19 )

看一些简单的例子,以下是我自己的一个crontab文件:

root@mtx:~#crontab -l

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/.sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow usercommand

#17 ** * *root    cd / run-parts --report /etc/cron.hourly#每小时的17分

#25 6* * *roottest -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.daily )#每天6点25分

#47 6* * 7roottest -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.weekly )#每年7月份里每一天的6点47分

#52 61 * *roottest -x /usr/sbin/anacron || ( cd / run-parts --report /etc/cron.monthly )#每个月1号的6点52分

*/4 *   * * *   root    /home/Tool/httpslow/httpslow.sh 每4分钟

#

B. 命令 command

命令command直接是linux终端可以执行的命令或可执行脚本的绝对位置

3.使用方法:

crontab crontab_file (-u user)#如crontab /etc/crontab -u root (root用户执行默认配置文件)

crontab -l#查看当前正在运行的crontab服务

crontab -r#删除用户crontab配置文件

crontab -i#删除前给出提示

crontab -h#查看帮助

/etc/init.d/cron start/stop/restart/reload#启动/停止/重启/重新加载 crontab服务

简单的临时重复命令完全可以有其他方案代替:

while true;do clear echo '您的ip地址是:' wget -qo- ifconfig.me/ip;sleep 120;done

#每2分钟刷新一次外网ip地址,并打印出来”

watch -n 5 netstat -nus#显示网络流量,每5秒刷新一次

。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息