一、运用设置服务的方法进行(Ubuntu server 18.0.4)
1.建立启动文件
$ sudo touch /etc/systemd/system/startup.service
2.写入启动文件内容
[Unit]
Description=/etc/startup Compatibility
ConditionPathExists=/etc/startup
[Service]
Type=forking
ExecStart=/etc/startup start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=88
[Install]
WantedBy=multi-user.target
3.创建指定的启动脚本并赋权测试
# cat << eof > /etc/startup
#!/bin/bash
echo `date +%Y-%M-%S` >> /tmp/out
eof
$ chmod +x /etc/startup
4.设置启动默认自定义启动服务并测试
$ systemctl enable startup.service
# systemctl start startup.service
5.终极的的重启检查
$ cat /tmp/out
# cat /tmp/out
2019-26-00
2019-26-00
二、使用update-rc.d
添加启动
1.首先编写好你的脚本文件,并赋权
# cat alex_startup
# chmod +x alex_startup
# cat alex
#!/bin/bash
#alex' test start bash
echo "## /etc/init.d/alex-update-rc.d" >> /tmp/out
/bin/date +%D-%H-%M-%S >> /tmp/out
2.把脚本放入 /etc/init.d/
中,否者update-rc.d
无法引入
# ln -s /home.alex/alex /etc/init.d/alex_startup
3.添加启动链接
# update-rc.d alex_startup defaults
PS:
①直接输入update-rc.d
# update-rc.d
update-rc.d: error: not enough arguments
usage: update-rc.d [-f] remove
update-rc.d [-f] defaults
update-rc.d [-f] defaults-disabled
update-rc.d disable|enable [S|2|3|4|5]
-f: force
The disable|enable API is not stable and might change in the future.
②安装sysv-rc-conf
软件查看开机启动项目,但是发现如果删去该脚本,也不能在该查询中移除,这个目前没有发现解决方法
# apt-get install sysv-rc-conf
#如果显示不能安装该命令,在源中添加 trusty字段即可
如:deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
三.普通脚本建立方式就是在指定的启动目录/etc/rc?/local
中创建规定的链接名即可
# cat /etc/init.d/startup
#!/bin/bash
echo start test >> /tmp/out
# chmod +x startup
ln -s /etc/init.d/start /etc/rc5.d/S08start
PS:
自定义的脚本必须要在/etc/init.d
目录中有,软连接名S表示开机启动,K表示不启动,08表示启动优先级别
References:
ubuntu-18.04 设置开机启动脚本
Linux中设置服务自启动的三种方式
PS:
在Linux中利用Service命令添加系统服务及开机自启动