linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > crontab每隔1分钟执行一次

使用crontab每隔1分钟执行一个命令行脚本

作者:gb4215287

这篇文章主要介绍了使用crontab每隔1分钟执行一个命令行脚本,文末介绍了crontab中如何设置每30秒执行一次任务,本文给大家介绍的非常详细,需要的朋友可以参考下

如何用crontab每隔1分钟执行一个命令行脚本

我在/home/下面写了一个a.sh

#!/bin/shecho hello > /home/hello.txt

然后在crontab -e中设置了

*/1 * * * * /home/a.sh

为何等了好几分钟,home下面还是没有hello.txt呢?

指定一下用什么运行

*/1 * * * * sh /home/a.sh

扩展:crontab中如何设置每30秒执行一次任务

crontab任务配置基本格式:

*   *  *  *  *  command第1列表示分钟0~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0,7都可表示星期天)
第6列要运行的命令

综合起来就是: 分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)  命令

从上面可以看出,crontab最小的时间单位: 1分钟。如果要每30秒执行一次脚本,要么写个小脚本,要么在crontab增加延迟。

方法一: 小脚本实现

#!/bin/bash
while :
do
    /var/script/run.sh
    sleep 30              # 延迟30秒执行
done

方法二: crontab中增加延迟30秒来实现

[root@host ~]# cat log.txt
2018-11-21 09:00:00
2018-11-21 09:00:30
2018-11-21 09:01:00
2018-11-21 09:01:30
2018-11-21 09:02:00
2018-11-21 09:02:30
......
[root@host ~]# crontab -l
* * * * * /var/script/run.sh >> log.txt
* * * * * sleep 30; /var/script/run.sh >> log.txt
[root@host ~]# cat run.sh
#!/bin/bash
date +'%Y-%m-%d %H:%M:%S'

到此这篇关于使用crontab每隔1分钟执行一个命令行脚本的文章就介绍到这了,更多相关crontab每隔1分钟执行一次内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文