debian10居然默认没有开机启动,折腾一晚上终于搞得,实现开机自动运行脚本。
首先恢复debian10开机自动功能rc.loca
1,添加rc-local.service
#以下为一整条命令,一起复制运行
cat > /etc/systemd/system/rc-local.service <<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
EOF
2,新建rc-local文件
#以下为一整条命令,一起复制运行
cat > /etc/rc.local <<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.
# bash /root/bindip.sh
exit 0
EOF
3,添加权限并设置开机自启
chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local.service
检查状态:
systemctl status rc-local.service
返回Active:active信息,则成功。
最后我们就可以在/etc/rc.loacl里,添加要执行的脚本
bash /root/autostart.sh
记住添加在exit 0之前。
autostart.sh内容:
screen_name1=$"worldserver"
screen -dmS $screen_name1
cmd1=$"sleep 3s;/server/bin/worldserver";
screen -x -S $screen_name1 -p 0 -X stuff "$cmd1"
screen -x -S $screen_name1 -p 0 -X stuff $'\n'
screen -x -S $screen_name1 -p 0 -X stuff "exit"
screen_name2=$"authserver"
screen -dmS $screen_name2
cmd1=$"sleep 20s;/server/bin/authserver";
screen -x -S $screen_name2 -p 0 -X stuff "$cmd1"
screen -x -S $screen_name2 -p 0 -X stuff $'\n'
screen -x -S $screen_name2 -p 0 -X stuff "exit"
name1和name2名称不能重复,20s是延时启动时间,/server/bin/authserver是脚本里要执行的程序路径。以上是执行2个程序的,更多复制修改即可
最后:更改自启脚本后,需要重新运行一下命令已生效。
systemctl enable rc-local
systemctl start rc-local.service
© 版权声明
分享是一种美德,转载请保留原链接
THE END
- 最新
- 最热
只看作者