1.建立一个sh文件
tee /etc/init.d/myservice.sh <<EOF
#!/bin/sh
# 此脚本用于启动和停止my_service服务。
start() {
echo "Starting my_service service..."
/usr/bin/my_service start
echo "my_service service started successfully."
}
stop() {
echo "Stopping my_service service..."
/usr/bin/my_service stop
echo "my_service service stopped successfully."
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
EOF
建好后赋予可执行权限 chmod +x myservice.sh
2. 配置开机启动
在这个方法中,我们使用tee命令打开(如果它不存在则创建)/etc/rc.local文件,并在EOF标记后添加了"/etc/init.d/test"行。这会在系统启动时运行脚本。最后,给这个文件添加执行权限。
方法一 创建rc.local (存在的话不用建)
tee /etc/rc.lcoal <<EOF
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#添加sh文件
/etc/init.d/test
exit 0
EOF
赋予执行权限 chmod + /etc/rc.locale
方法二 设置脚本开机时启动 (建议用方法一)
在这个方法中,我们使用update-rc.d命令将脚本添加到默认的运行级别中。
如果您希望在系统开机时运行脚本,可以使用"update-rc.d test defaults"。
如果您希望禁止在系统开机时运行脚本,可以使用"update-rc.d -f test remove"。
update-rc.d test defaults
设置脚本开机时不启动[可选]
update-rc.d -f test remove
3. 重启测试运行是否开机启动
如果您想测试脚本是否会在系统启动时运行,可以重启系统,并查看日志文件以查看脚本是否成功运行。
以上步骤可能会因不同的Linux发行版而略有不同。此外,设置开机启动可能需要管理员权限。