本文使用 Ubuntu 自带的 update-rc.d 实现开机自动运行脚本的功能。
创建脚本
vim test-start
测试脚本
#!/bin/sh
# 在当前用户目录创建一个空的txt文本文档
touch $HOME/111.txt
添加生效
sudo mv test-start /etc/init.d/
sudo chmod 755 test-start
sudo update-rc.d test-start defaults 2
sudo systemctl restart test-start
检测是否生效
root@ubuntu:reboot
root@ubuntu:/etc/init.d# cd $HOME
root@ubuntu:~# ls
111.txt snap
root@ubuntu:~$ systemctl status test-start
● test-start.service
Loaded: loaded (/etc/init.d/test-start; generated)
Active: active (exited) since Mon 2022-02-07 19:47:48 PST; 51s ago
Docs: man:systemd-sysv-generator(8)
Process: 776 ExecStart=/etc/init.d/test-start start (code=exited, status=0/SUCCESS)
Feb 07 19:47:48 ubuntu systemd[1]: Starting test-start.service...
Feb 07 19:47:48 ubuntu systemd[1]: Started test-start.service.
删除脚本自动执行的方法
cd /etc/init.d
sudo update-rc.d -f test-start remove
sudo systemctl daemon-reload
大功告成!!!!
update-rc.d的详细参数
使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):
update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
update-rc.d <basename> start|stop <NN> <runlevels>
-n: not really
-f: force