Ubunut下几种设置脚本开机启动的方法

一、运用设置服务的方法进行(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

Ubunut下几种设置脚本开机启动的方法_第1张图片
# sysv-rc-conf

三.普通脚本建立方式就是在指定的启动目录/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命令添加系统服务及开机自启动

你可能感兴趣的:(Ubunut下几种设置脚本开机启动的方法)