ubuntu 20 新增開機自啟動

2022-10-08 21:48:31 字數 2120 閱讀 9847

開機自啟動

ubuntu作為伺服器使用時,常常需要在機器重啟時能自動啟動我們開發的服務。有時候我們想要指令碼開機自動執行,那麼就需要設定開機自啟動指令碼。網上有很多種解決方案,基本上是分為三種:

修改/etc/r.local

我在ubuntu18和ubuntu20.10都親測 /etc/rc.d/rc.local開機啟動指令碼不生效。主要有以下步驟:

檢視是否有/etc/rc.d/rc.local

ls -l /etc/rc.d/rc.local

我這邊20這個版本的話,都沒有這個檔案。那就不管這個方式了

檢查系統目錄/lib/systemd/system/test.service

如果沒有自己新建,檔案內容為(如果檔案存在本身是沒有[install]項的,需要自己新增進去)

vim /lib/systemd/system/test.service

# 編寫內容

[unit]

description=test

requires=network-online.target #若需要聯網後啟動的話,則需要加入該引數

after=network-online.target #若需要聯網後啟動的話,則需要加入該引數

[service]

type=forking

execstart=/bin/bash /home/test/test.sh #執行的內容是指令碼test.sh中的內容,其中包括它的絕對位址

[install]

wantedby=multi-user.target

此處可以自行增加乙個service在該路徑下,根據該路徑下的格式,自行定製即可。詳細引數資訊可以見下systemd 新增自定義服務(開機自啟動).

修改配置檔案後需要重載入配置

sudo systemctl daemon-reload

建立test.sh

vim /home/test/test.sh

# 寫入如下內容

#!/bin/bash

echo `date`,"ok

" >>/tmp/test.log

賦予可執行許可權

chmod +x /home/test/test.sh

設定開機啟動

systemctl enable test.service

檢視啟動的狀態

systemctl status test.service

root@rex:/home/rex# systemctl status test.service

● test.service -test

loaded: loaded (/lib/systemd/system/test.service; enabled; vendor preset: enabled)

active: inactive (dead) since sat

2021-12-11

08:46:19

utc; 35s ago

process:

967 execstart=/bin/bash /home/test/test.sh #執行的內容是指令碼test.sh中的內容,其中包括它的絕對位址 (code=exited, status=0/success)

dec

1108:46:19 rex systemd[1

]: starting test...

dec

1108:46:19 rex systemd[1

]: started test.

# 檢視檔案是否寫入

root@rex:/tmp# cat test.log

sat dec

1108:46:19 utc 2021,ok

關閉開機啟動

systemctl disable test.service

# 輸出

root@rex:/tmp# systemctl disable test.service

removed /etc/systemd/system/multi-user.target.wants/test.service.

UBUNTU 新增開機啟動程式

1.在 etc init.d 目錄下新建指令碼檔案 jr bin sh begin init info provides binfmt support required start local fs remote fs required stop local fs remote fs default...

linux 新增開機自啟動指令碼

linux設定服務開機自動啟動的方式有好多種,這裡介紹一下通過chkconfig命令新增指令碼為開機自動啟動的方法。1.編寫指令碼autostart.sh 這裡以開機啟動redis服務為例 指令碼內容如下 bin sh chkconfig 2345 80 90 description 開機自動啟動的...

CentOS 新增開機自啟動 命令 指令碼

如果只是新增一條開機啟動的命令 chmod x etc rc.d rc.local 將命令寫到 etc rc.d rc.local 這個檔案中 reboot 一 新增開機自啟服務 在centos 7中新增開機自啟服務非常方便,只需要兩條命令 以jenkins為例 systemctl enable j...