使用Crontab设置定时任务

1.什么是Crontab
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

2.几个常用命令:

Crontab命令的格式为:crontab –l|-r|-e|-i [username]

crontab –l 显示用户的Crontab文件的内容 
crontab -ri  删除用户的Crontab文件前给提示 
crontab -r 从Crontab目录中删除用户的Crontab文件 
crontab -e  编辑用户的Crontab文件

 /etc/init.d /crond restart  重启crontab任务

3.时程表的格式如下 : 
f1 f2 f3 f4 f5 program    
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推 
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 

4.实例


可以通过crontab设定一些脚本定时执行清理,创建数据库等任务

5.手册中的例子
# 在每天的00:05AM执行
5 0 * * * $HOME/bin/daily.job <<$HOME/tmp/out 2<&1
# 在每月1日的02:15PM执行
15 14 1 * * $HOME/bin/monthly
# 在工作日(周一到周五)的10:00PM执行
0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are yourkids?%
# 在0-23小时区间内,每两小时执行一次,即0点,2点,...,22点,在这些时间之后的23分钟执行
23 0-23/2 * * * echo "run 23 minutes after midn, 2am, 4am ...,everyday"
# 每周日的04:05AM执行
5 4 * * sun echo "run at 5 after 4 every sunday"
# 在每个月的第二个周六的04:00AM执行
0 4 8-15 * 6 test $(date +u) -eq 6&& echo "2nd Saturday"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7系统中,你可以使用crontab命令设置定时任务。下面是具体的步骤: 1. 打开终端并登录到CentOS 7系统上的超级用户(root)或拥有sudo权限的用户。 2. 输入以下命令以编辑当前用户的crontab文件: ``` crontab -e ``` 如果是第一次编辑,会提示选择编辑器,默认是vi。你可以根据自己的喜好选择其他编辑器。 3. 在打开的文件中,每行输入一个定时任务,格式如下: ``` * * * * * command ``` 其中,`* * * * *`表示时间和日期的设置。具体的含义如下: - 第1个`*`:分钟(0-59) - 第2个`*`:小时(0-23) - 第3个`*`:日期(1-31) - 第4个`*`:月份(1-12) - 第5个`*`:星期(0-7,其中0和7都表示周日) `command`是要执行的命令或脚本路径。 例如,如果你想每天凌晨2运行一个脚本,可以使用以下设置: ``` 0 2 * * * /path/to/script.sh ``` 4. 保存并关闭文件。在vi编辑器中,可以按下`Esc`键,然后输入`:wq`并按下回车键。 5. 定时任务已经设置完成。现在,crontab将在指定的时间自动执行设置的命令或脚本。 你也可以使用`crontab -l`命令查看当前用户的定时任务列表,使用`crontab -r`命令移除当前用户的定时任务。 请注意,定时任务将以当前用户的身份执行。如果你希望以其他用户的身份执行定时任务,可以使用`sudo crontab -e`命令编辑root用户的crontab文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值