crontab每30秒执行一次(每5分钟运行一次cron)
- 软件开发
- 2023-09-21
- 73
大家好,今天来为大家分享crontab每30秒执行一次的一些知识点,和每5分钟运行一次cron的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章...
大家好,今天来为大家分享crontab每30秒执行一次的一些知识点,和每5分钟运行一次cron的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
Linuxcrontab定时执行任务命令格式与详细例子
基本格式:
*****command
分时日月周命令
第1列表示分钟1~59每分钟用*或者*/1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
3021***/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每晚的21:30重启apache。
4541,10,22**/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每月1、10、22日的4:45重启apache。
101**6,0/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每周六、周日的1:10重启apache。
0,3018-23***/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示在每天18:00至23:00之间每隔30分钟重启apache。
023**6/usr/local/etc/rc.d/lighttpdrestart
上面的例子表示每星期六的11:00pm重启apache。
**/1***/usr/local/etc/rc.d/lighttpdrestart
每一小时重启apache
*23-7/1***/usr/local/etc/rc.d/lighttpdrestart
晚上11点到早上7点之间,每隔一小时重启apache
0114*mon-wed/usr/local/etc/rc.d/lighttpdrestart
每月的4号与每周一到周三的11点重启apache
041jan*/usr/local/etc/rc.d/lighttpdrestart
一月一号的4点重启apache
名称:crontab
使用权限:所有使用者
使用方式:
crontabfile[-uuser]-用指定的文件替代目前的crontab。
crontab-[-uuser]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-cdir-指定crontab的目录。
crontab文件的格式:MHDmdcmd.
M:分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m:月(1-12)。
d:一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明:
crontab是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-uuser是指设定指定
user的时程表,这个前提是你必须要有其权限(比如说是root)才能够指定他人的时程表。如果不使用-uuser的话,就是表示设
定自己的时程表。
参数:
crontab-e:执行文字编辑器来设定时程表,内定的文字编辑器是VI,如果你想用别的文字编辑器,则请先设定VISUAL环境变数
来指定使用那个文字编辑器(比如说setenvVISUALjoe)
crontab-r:删除目前的时程表
crontab-l:列出目前的时程表
crontabfile[-uuser]-用指定的文件替代目前的crontab。
时程表的格式如下:
f1f2f3f4f5program
其中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中,用crontabfile的方式来设定时程表。
例子:
#每天早上7点执行一次/bin/ls:
07***/bin/ls
在12月内,每天的早上6点到12点中,每隔3个小时执行一次/usr/bin/backup:
06-12/3*12*/usr/bin/backup
周一到周五每天下午5:00寄一封信给alex@domain.name:
017**1-5mail-s"hi"alex@domain.name</tmp/maildata
每月每天的午夜0点20分,2点20分,4点20分....执行echo"haha"
200-23/2***echo"haha"
注意:
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之
后加上>/dev/null2>&1即可
例子2:
#每天早上6点10分
106***date
#每两个小时
0*/2***date
#晚上11点到早上8点之间每两个小时,早上8点
023-7/2,8***date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0114*mon-weddate
#1月份日早上4点
041jan*date
范例
$crontab-l列出用户目前的crontab
crontab管理工具
Crontab管理工具是Linux平台下的一款用于循环执行例行任务的工具,Linux系统由cron(crond)这个系统服务来控制任务,Linux系统本来就有很多的计划任务需要启动,所以这个系统服务是默认开机启动的。Linux为使用者提供的计划任务的命令就是Crontab,是Linux下用来周期性执行任务或者等待处理某些事情的。
linux中执行crontab定时任务时无法连接sybase iq15.1数据库,shell脚本中的sybase iq的环境变量怎么设置
在执行dbisql-c"uid=DBA;pwd=sql"-host192.168.0.34-port2638/home/gjt/query.sqlquery.sql这句话前面,先加载上sybase用户的环境变量。source$SYBASE/SYBASE.sh
如何在Linux上定期定期执行命令、脚本(cron、crontab、anacron)
在Linux上执行定时任务的场景还是很多的,比如说我们要:
定时进行日志文件切割;
定时同步服务时间;
定时备份重要数据;
定时执行任务等。
Linux服务器上要实现定时任务,方式有很多,比如说:cron、anacron、sleep等。那这几种之间有何区别及该选哪种呢,结合我的经验谈谈我的看法以供大家参考。
1、cron(crond)
crond是Linux自带的一个守护进程,利用它来重复执行指定的任务,时间周期可以按分钟、小时、天、月、周来执行,现实我们主要也就是靠它来执行定时任务。
这里需要注意的是,crontab是crond进程依懒的任务列表文件(对应配置文件在:/etc/crontab中,不过系统中也有crontab命令,通过这个命令我们可以编辑任务清单),我们将定时任务记录在crontab中,任务的执行靠的还是crond守护进程。
2、anacron
anacron(对应配置文件在:/etc/anacrontab中)可以理解为是cron的一种补充,但两者定位不同。cron定位是7x24小时不间断的计划任务执行者,而anacron是用来处理非7x24小时运行的Linux系统上的crontab的。有点绕口,简单说就是,假设一台服务器每周六周日是关闭的,而crontab中有几条是在周六周日执行的,此时anacron就能发挥作用了。anacron在启动后会去检查关机期间哪些任务应该执行却没有执行到的crontab任务,找到这些任务,执行完,然后anacron就停止了。
其实anacron依懒于crontab,anacron能执行也是靠crontab来运行的。
anacron对于一般用户基本上用不到!
3、sleep
还有一种方案是通过sh脚本来执行while(true)+sleep操作,以此来模拟定时任务。这种常见于一些PHP脚本模拟“守护进程”效果,执行完一段代码后,休眠指定时间后再次执行。
综上,在实际操作中,我们实现定时任务99%的情况下都是通过crontab这个命令和/etc/crontab这个文件来设置定时任务的,而定时任务的执行是由Linux自带的crond守护进程来执行的。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
centos7如何设置定时关机
在CentOS7中,您可以使用以下方法设置定时关机:
1.打开终端,输入以下命令来编辑计划任务:
```
crontab-e
```
2.在打开的编辑器中,添加以下行来设置定时关机:
```bash
@reboot/usr/bin/sh/path/to/your/script.sh
```
3.将`/path/to/your/script.sh`替换为您要使用的脚本的完整路径。
4.保存并关闭编辑器。
5.打开终端,输入以下命令来运行计划任务:
```
crontab-l
```
6.如果您想测试脚本是否正常工作,可以运行以下命令:
```bash
/path/to/your/script.sh
```
注意:确保您在脚本中设置了正确的关机命令。在CentOS7中,您可以使用`shutdown`命令来关机,例如:
```bash
#!/bin/bash
shutdown-h+10"Scheduledshutdown"
```
上述脚本将在10分钟后关机,并显示一条消息,说明这是计划关机。
请注意,设置定时关机可能存在风险,请确保您知道自己在做什么,并备份所有重要数据。
crontab时间格式的问题:001,15*1/bin/cp-R/ect/ectbak时间“001,15*1”这个怎么理解
第一个0表示每小时的0分第二个0表示每天的00:00第三个1,15表示每个月的1号和15号第四个*表示每个月第五个1表示周1就是如果当月1号或15号是周1的时候执行/bin/cp-R/ect/ectbak
关于本次crontab每30秒执行一次和每5分钟运行一次cron的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。
本文链接:http://xinin56.com/ruanjian/29304.html