我有一个 shell 脚本包含这样的循环:
while true
do
if ... ; then
...
else
...
break
fi
done
我希望这个脚本在操作系统启动时运行后端。我尝试将此脚本添加到 /etc/rc.d/local.rc 作为启动脚本。但是操作系统启动时间太长,操作系统启动后,这个脚本就不存在了。
那么如何在操作系统启动时将此脚本添加到后端呢?我需要这个脚本也可以在后端手动启动。谢谢~
答案1
要在启动时运行脚本,您应该从
/etc/cron.d/myrebootscript
与内容
@reboot <user> <command>
例子:
@reboot joe /usr/local/bin/myscript
该脚本将在启动过程中的不可预测的时间执行。例如,如果脚本应等待网络启动,则应添加一个循环/usr/local/bin/myscript
:
#! /bin/bash
# wait for 10.1.2.3 is pong'ing
while ! ping -c1 -W1 10.1.2.3 > /dev/null ; do
sleep 1
done
do_my_command_here
/etc/rc.local
如今已被弃用。
答案2
将该脚本包含在 /etc/rc.d/rc.local 文件中,以便在执行所有 init 脚本后它将执行。
我们可以在 .bash_profile 中添加路径的另一个选项