Ubuntu/Linux 开机运行指定的命令/自动运行命令
2022-01-02 本文已影响0人
几簟生凉
PS: 如果你用的桌面环境,可以在startup applications
程序里添加你想要执行的命令,简单,执行优先级最低。如果没有桌面环境或者想执行更复杂的逻辑,继续阅读本文吧。
分两种方法:
方法一
参考: https://www.pimspeak.com/ubuntu-20-04-start-on-boot.html
-
在
/lib/systemd/system/rc-local.service
文件最后添加如下内容[Install] WantedBy=multi-user.target Alias=rc-local.service
-
把这个文件链接到
/etc/systemd/system/
目录下面ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
-
编辑
/etc/rc.local
文件,写入自定义脚本。比如#!/bin/bash touch /home/u1/a.txt bash /root/a.sh
注意,第一句话是必要的。
-
给rc.local加上执行权限
sudo chmod a+x /etc/rc.local
方法二
[转载]https://blog.csdn.net/tuzixini/article/details/95616333
- 在 /etc/init.d/ 中创建自己的开机运行脚本,脚本名字任意
sudo vim /etc/init.d/my.sh
- 仿照其他的脚本写一个头,然后在后面写你想要执行的命令这里照搬
samba-ad-dc
,盲猜Required-Start
应该是在这之前需要什么程序先启动之类的。Default-Start
应该是设置的优先级之类的。
#! /bin/sh
### BEGIN INIT INFO
# Provides: samba-ad-dc
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Samba daemons for the AD DC
# Description: Meta-service to provide AD and SMB/CIFS services to clients
### END INIT INFO
# 比如
/opt/frp/frpc -c /opt/frp/frpc.ini
- 添加可执行权限
sudo chmod 755 /etc/init.d/my.sh
- 加入开机启动
## 90为优先级,越大表示执行的越晚
sudo update-rc.d my.sh defaults 90
- 删除启动项
sudo update-rc.d -f my.sh remove