linux crontab复制,【Linux命令】crontab定时任务

crontab定时任务

一、简介

通过crontab命令可以在固定的间隔执行系统指令或shell脚本

20190930215202026dni7ykpcm9rdq0i_0.png

二、crontab配置文件:

Linux下的任务调度分为两类:系统任务调度和用户任务调度。

Linux系统任务是由 cron (crond) 这个系统服务来控制的,这个系统服务是默认启动的。用户自己设置的计划任务则使用crontab 命令。

查看crontab配置文件:

[root@localhost ~]# cat /etc/crontab

SHELL=/bin/bash

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

MAILTO=root

# For details see mancrontabs

# Example of job definition:

# .---------------- minute ( - )

#| .------------- hour ( - )

#| | .---------- day of month ( - )

#| | | .------- month ( - ) OR jan,feb,mar,apr ...

#| | | | .---- day of week ( - ) (Sunday= or ) OR sun,mon,tue,wed,thu,fri,sat

#| | | | |#* * * * * user-name command to be executed

分析:

第一行指定系统使用的shell环境

第二行指定系统执行命令的路径

第三行指定crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户

注意:所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致

三、crontab文件含义

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段

格式如下:minute hour day month week command

minute:代表一小时内的第几分,范围 0-59。

hour:代表一天中的第几小时,范围 0-23。

mday:代表一个月中的第几天,范围 1-31。

month:代表一年中第几个月,范围 1-12。

week:代表星期几,范围 0-7 (0及7都是星期天)。

who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。

command:所要执行的指令。

"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;

"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。

"-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。

","分散的数字(不一定连续),如1,2,3,4,7,9。

20190930215202026dni7ykpcm9rdq0i_1.png

四、crontab命令详解

格式:crontab [-u user] file

crontab [ -u user ] [ -i ] { -e | -l | -r }

• -u user:用于设定某个用户的crontab服务;

• file: file为命令文件名,表示将file作为crontab的任务列表文件并载入crontab;

• -e:编辑某个用户的crontab文件内容,如不指定用户则表示当前用户;

• -l:显示某个用户的crontab文件内容,如不指定用户则表示当前用户;

• -r:从/var/spool/cron目录中删除某个用户的crontab文件。

• -i:在删除用户的crontab文件时给确认提示。

五、crontab实例

1)每一分钟执行一次command(因cron默认每1分钟扫描一次,因此全为*即可)

* * * * * command

2)每小时的第3和第15分钟执行command

, * * * * command

3)每天上午8-11点的第3和15分钟执行command:

, - * * * command

4)每隔2天的上午8-11点的第3和15分钟执行command:

, - */ * * command

0 0 */2 * * command //每隔两天凌晨执行command

5)每个星期一的上午8点到11点的第3和第15分钟执行command

, - * * command

6)每晚的21:30重启smb

* * * /etc/init.d/smb restart

7)每月1、10、22日的4 : 45重启smb

,, * * /etc/init.d/smb restart

8)每周六、周日的1 : 10重启smb

* * , /etc/init.d/smb restart

9)每天18 : 00至23 : 00之间每隔30分钟重启smb

, - * * * /etc/init.d/smb restart

10)每一小时重启smb

* */ * * * /etc/init.d/smb restart

11)晚上11点到早上7点之间,每隔一小时重启smb

* -/ * * * /etc/init.d/smb restart

12)每月的4号与每周一到周三的11点重启smb

* mon-wed /etc/init.d/smb restart

13)每小时执行/etc/cron.hourly目录内的脚本

* * * root run-parts /etc/cron.hourly

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值