Linux 新增指令碼開機自啟動

zmxyzmxy1234發表於2020-06-09

新更新,直接編輯 /etc/rc.d/rc.local 即可 不在需要自己新建

vim /etc/rc.d/rc.local
  • 首先寫一個指令碼
#!/bin/sh
#chkconfig:2345 80 90
#decription:autostart
nohup ~/frpc_linux_amd64 -t 7693dddbc9cc1413 -s 32 # mysql

#!/bin/sh 是shell指令碼的開頭

#chkconfig:2345 80 90 是設定啟動優先順序,首先你需要百度下Linux啟動級別,這裡指令碼意思是:指令碼應該在級別2、3、4、5中啟動,它的開始優先順序應該是20,它的停止優先順序應該是80,這行沒有也沒事,會給預設優先順序

#decription:autostart 是指令碼描述,不影響執行,非必須
nohup XXX 是我自己需要執行的命令,這裡檔案路徑必須是從根目錄開始的絕對路徑,不如找不到

將其移動到/etc/rc.d/init.d目錄

mv sf_ssh_frp.sh /etc/rc.d/init.d/sf_ssh_frp.sh

然後要賦予許可權,不然無法執行

chmod +x /etc/rc.d/init.d/sf_ssh_frp.sh

之後就是使用chkconfig來新增開機啟動了

chkconfig --add sf_ssh_frp.sh

chkconfig 命令:

chkconfig --add httpd            # 新增服務,以便讓chkconfig指令管理它
chkconfig httpd on               # 設定開機執行該服務,預設是設定2345等級開機執行服務
chkconfig --list                 # 列出所有被chkconfig管理的服務
chkconfig --add httpd            # 新增指定的服務,讓chkconfig指令管理它
chkconfig --del httpd            # 刪除指定的服務,不再讓chkconfig指令管理它
chkconfig httpd on               # 設定開機執行服務,需要先執行 --add 才能執行該命令
chkconfig httpd off              # 設定開機不執行服務,需要先執行 --add 才能執行該命令
chkconfig --level 35 httpd on    # 設定服務在等級35時開機執行服務,預設是設定2345等級開機執行服務
chkconfig --list                                      # 等級0:關機
atop            0:off   1:off   2:off   3:off   4:off   5:off   6:off     # 等級1:單使用者模式/救援模式
auditd          0:off   1:off   2:off   3:off   4:on    5:off   6:off     # 等級2:無網路連線的多使用者命令列模式
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off     # 等級3:有網路連線的多使用者命令列模式
ipset           0:off   1:off   2:on    3:on    4:on    5:on    6:off     # 等級4:不可用
iptables        0:off   1:off   2:off   3:off   4:on    5:off   6:off     # 等級5:帶圖形介面的多使用者模式
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off     # 等級6:重啟
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章