我已经制作了一个bash脚本,我们称它为script.sh,它具有下一个结构:#!/bin/bashwhile truedo do_something() sleep 1800 #secondsdone
我希望脚本在启动时作为任务运行,尽管没有用户连接到系统。我以为可以使用'nohup script.sh',但是我不知道是否可以在启动时使用它而无需连接任何用户。有人知道吗?
最佳答案
考虑使用/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
并将您的脚本或符号链接(symbolic link)放在
/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
下运行每个脚本。关于linux - 启动时触发bash脚本以定期执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32511184/