ubuntu18實現原生的 rc.local 功能,開機自動啓動frpc

2020-08-09 12:27:46

最近在實現frp的內網穿透,但是一直開機不能自動啓動,這樣的設計肯定是不行的,現在將我找到的開機自動啓動的方法分享一下。

本部落格參考於 https://www.cnblogs.com/airdot/p/9688530.html

ubuntu18 貌似是已經不支援rc.local 這個開機自動啓動的指令碼了,所以爲了能繼續用這個指令碼,我需要去編寫一個ubuntu18 下的啓動指令碼,通過這個指令碼來啓動我的rc.local指令碼。

建立一個rc-local.service

sudo vi /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

將上面這段內容寫到rc-local.service。

接下來就是建立一個rc.local

sudo vi /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
nohup /home/jeason/frp/frpc -c /home/jeason/frp/frpc.ini & # 啓動frp
exit 0

將上述的指令碼賦值到rc.local   注意 關於frpc 的執行指令必須包含完整的路徑!

接下來是給rc.local 執行的許可權

sudo chmod +x /etc/rc.local

接下來是啓動服務

sudo systemctl start rc-local.service

測試服務的狀態

sudo systemctl status rc-local.service