在启动时触发bash脚本以定期执行

时间:2015-09-10 20:37:27

标签: linux bash

我制作了一个bash脚本,我们称之为script.sh,它具有下一个结构:

#!/bin/bash while true do do_something() sleep 1800 #seconds done

我希望脚本在启动时作为任务运行,尽管没有用户连接到系统。我以为我可以使用'nohup script.sh',但我不知道我是否可以在没有任何用户连接的情况下在启动时使用它。有人有点想法吗?

1 个答案:

答案 0 :(得分:0)

使用/etc/cron.hourly/查看每小时脚本。它将按小时的某个时间间隔每小时运行一次。在RHEL上,这在/etc/cron.d/0hourly中定义为超过1小时。

然后,您可以将此框架延长半小时(1800s = 30分钟),例如/etc/cron.d/1_halfhourly

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
00,30 * * * * root run-parts /etc/cron.halfhourly

将您的脚本或符号链接放在/etc/cron.halfhourly

当然,这可以延长到一分钟间隔,例如/etc/cron.d/2perminute

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
* * * * * root run-parts /etc/cron.perminute

这将每分钟运行/etc/cron.perminute下的每个脚本。