【问题标题】:Trigger a bash script at startup to execute periodically在启动时触发 bash 脚本以定期执行
【发布时间】:2015-12-07 06:57:26
【问题描述】:

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

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

我希望脚本在启动时作为任务运行,尽管没有用户连接到系统。我以为我可以使用“nohup script.sh”,但我不知道是否可以在启动时使用它而无需连接任何用户。有人知道吗?

【问题讨论】:

标签: linux bash


【解决方案1】:

考虑使用/etc/cron.hourly/ 制作每小时脚本。它将每隔一小时每小时运行一次。在 RHEL 上,这在 /etc/cron.d/0hourly 中定义为整点后 1 分钟。

然后您可以将此框架扩展到半小时间隔(1800 秒 = 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 下的每个脚本。

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2017-06-23
    • 1970-01-01
    • 2018-06-07
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多