設置開機啟動腳本
❶ linux設置開機啟動
方法一:編輯rc.loacl腳本
直接在/etc/rc.local中添加啟動腳本。
方法二:Linux通過chkconfig設置開機啟動服務
創建腳本
編輯腳本內容如下(腳本前面三行格式固定)
說明:
第一行,告訴系統使用的shell,所有的shell腳本都是這樣。
第二行,chkconfig後面有三個參數2345,100和101告訴chkconfig程序,需要在rc2.d~rc5.d目錄下,創建名字為 S100bootshell的文件連接,連接到/etc/rc.d/init.d目錄下的的test2腳本。第一個字元是S,系統在啟動的時候,運行腳本bootshell,就會添加一個start參數,告訴腳本,現在是啟動模式。同時在rc0.d和rc6.d目錄下,創建名字為K90bootshell的 文件連接,第一個字元為K,系統在關閉系統的時候,會運行bootshell,添加一個stop,告訴腳本,現在是關閉模式。 注意上面的三行中,第二,第三行是必須的,否則在運行chkconfig --add bootshell時,會報錯。
運行級別,越小越優先運行,優先順序相同的時候按創建時間啟動。
給文件設置執行許可權
測試腳本
chkconfig創建服務
此時rc2.d-rc5.d文件夾下已有創建好的文件。
在CentOS中服務啟動腳本放置在: /etc/rc.d/init.d 而 /etc/init.d 這個目錄為公認的目錄,在centos中 /etc/init.d 就是一個鏈接檔案 /etc/sysconfig 服務初始化環境變數配置都在這個檔案中。
❷ 樹莓派設置開機啟動腳本
由於北郵校內網需要Drcom撥號,每次用curl命令很麻煩,所以開始了這次寫開機啟動腳本的過程。
init 進程讀取 /etc/inittab文件中的信息,並進入預設的運行級別。
Debian中的運行級別
查看系統當前運行級別使用 runlevel 命令,通常情況下 /etc/rcS.d/目錄下的啟動腳本首先被執行,然後是/etc/rcN.d/目錄,N為 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:
有K開頭的文件,有S開頭的文件,K的意思是Kill,S為Start。K和S後面緊跟著的數字就是關閉和啟動的順序,數字越大關閉或啟動順序越靠後。
將自定義腳本放在 /etc/init.d 目錄下面,就可以使用 service yourshellname start|stop 當然需要腳本中寫好start,stop功能。但是不能開機自啟動。
使用update-rc.d函數將腳本設置為開機自啟動。
1)設置腳本啟動和關閉依賴$remote_fs,$syslog,並且啟動運行級別為2-5,關閉運行級別為0,1,6。
update-rc.d foobar defaults
上面一條命令就會在/etc/rc2.d rc3.d rc4.d rc5.d中創建軟鏈接 S03drcom -> ../init.d/drcom ,在rc0.d rc1.d rc6.d中創建軟鏈接 K01drcom -> ../init.d/drcom 。
2)設置腳本啟動關閉都為順序20,並且啟動運行級別為2-5,關閉運行級別為0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。
3)移除連接。
update-rc.d yourshellname remove
參考文獻:
[1] 開機自動執行腳本 與 update-rc.d
[2] 樹莓派開機自啟動腳本製作
[3] Debian init 開機啟動管理
[4] 樹莓派開機啟動程序及啟動腳本的製作
❸ Linux配置開機自啟動執行腳本有哪些方法
設置test.sh為開機要啟動的腳本
[root@oldboy scripts]# vim /server/scripts/test.sh
[root@oldboy scripts]# cat /server/scripts/ test.sh
#!/bin/bash
/bin/echo $(/bin/date +%F_%T) >> /tmp/ test.log
方法一:修改/etc/rc.local
[root@oldboy ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local -> rc.d/rc.local
修改/etc/rc.local文件
[root@oldboy scripts]# tail -n 1 /etc/rc.local
/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
方法二:chkconfig管理
刪除掉方法一的配置
[root@oldboy ~]# vim /etc/init.d/test
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /server/scripts/test.sh >臘敏/dev/null 2>/dev/null
[root@oldboy ~]# chmod +x /etc/init.d/test
添加到chkconfig,開機自啟動
[root@oldboy ~]# chkconfig --add test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:on 4:off 5:off 6:off
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
2018-03-30_12:33:20
操作成功
關閉開機啟動
[root@oldboy ~]# chkconfig test off
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
從chkconfig管理中刪攜局神除辯虧test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@oldboy ~]# chkconfig --del test
[root@oldboy ~]# chkconfig --list test
service test supports chkconfig, but is not referenced in any runlevel (run
'chkconfig --add test')
❹ CentOS7 設置開機自啟動腳本
兩種實現方式:
方法一: (rc.local)
1、因為在 centos7 中 /etc/rc.d/rc.local 的許可權被降低了,所以需要賦予其可執行權
2、賦予腳本可執行許可權
假設 /usr/local/sca/start.sh 是你的腳本路徑,給予執行許可權
3、打開 /etc/rc.d/rc.local 文件,在末尾增加如下內容
方法二: (chkconfig)
1、將腳本移動到 /etc/rc.d/init.d 目錄下
2、增加腳本的可執行許可權
3、添加腳本到開機自動啟動項目中
chkconfig 啟動腳本規范 在腳本開頭加入下面內容:
注意:不添加以上內容的話添加啟動項時會提示service myservice does not support chkconfig
Linux啟動優先順序:
❺ update-rc.d添加腳本為開機啟動
兩種開機執行腳本的方法及相關的一個命令。
修改/啟粗etc/rc.local
在/etc/rc.local的exit 0語句之間添加啟動腳本。腳本必須具有可執行許可權。
用update-rc.d命令添加開機執行腳本
創建要開機自動執行的腳本:/home/test/blog/startBlog.sh,並給予可執行許可權:chmod +x /home/test/blog/startBlog.sh。
在/etc/init.d目錄下創建鏈接文件到前面的腳本: ln -s /home/test/blog/startBlog.sh /etc/init.d/startBlog。
進入/etc/init.d目錄,用 update-rc.d 命令將連接文件 startBlog 添加到啟動腳本中去:update-rc.d startBlog defaults 99。
其中的99表示啟動順序,取值范圍是0-99。序號越大的越晚執行。
移除啟動的腳本:update-rc.d -f startBlog remove。
-f選項表示強制執行。
update-rc.d命令
此命令用於安裝或移除System-V風格的初始化腳本連接。腳本是存放在 /etc/init.d/目錄下的,當然可以在此目錄創建連接文件連接到存放在其他地方的腳本文件。
此命令可以指定腳本的執行序號,序號的取值范圍是 0-99,序號越大,越遲執行。
用法
update-rc.d [-n] [-f] name remove 用於移除腳本。
update-rc.d [-n] name default [NN | SS KK],NN表示執行序號(0-99),SS表示啟動時的執行序號,KK表示關機時的執行序號,SS、KK主要用於在腳本直接的執行順序上有依賴關系的情況下。
選項
-n:悄辯鎮不做任何事情,只顯示將要做的。(預覽、做測試)
-f:強制移除符號連接灶迅,即使 /etc/init.d/script-name 仍然存在。
舉例
update-rc.d startBlog defaults 99:添加一個啟動連接,執行序號是99。
如果執行腳本B需要先執行腳本A,如下設置(A的啟動順序比B的小,結束順序比B的大):
update-rc.d script_for_A defaults 80 20
update-rc.d script_for_B defaults 90 10
添加一個不被其他任何服務需要的服務:update-rc.d script_name defaults 98 02,
添加一個需要 開始/結束 序號在20的服務的服務:update-rc.d script_depends_on_service_20 default 21 19。
移除一個腳本,假定/etc/init.d/目錄下的腳本文件已先被刪除:update-rc.d script_name remove。
移除一個腳本,不管/etc/init.d/目錄下的腳本文件是否已刪除:update-rc.d -f script_name remove。
❻ 開機自啟腳本
電腦或服務中鄭器開機都會有一些需要啟動的程序,每次都需要一個一個點擊啟動,耗時耗力,還有可能漏啟動。所以添加一個開機自啟的腳本,腳本中幫我們打開需要啟動的侍孫程序,如Snipaste、FRP客戶端等。
修改 /etc/rc.local 文件,添加啟動服務的命令
先寫好啟動腳本或者啟動命令,事先保證啟動腳本或命令能正常啟動服務,然後將腳本路徑或啟動命令添加至/etc/rc.local文件中,這個方法適合比較簡單的shell腳本。
創建腳本myservice,寫入
將腳本放到/etc/init.d或/etc/rc.d/init.d目錄下,並添加腳本為服務
輸入如下命令調用myservice服務,然後查看/tmp下的test.txt文件發現賣談頌已經寫入了日期。
將myservice服務設置為開機自啟
查看服務是否開機啟動
重啟伺服器,就會執行 systemctl start myservice 命令和 rc.local 中的命令。
編輯腳本
根據實際情況修改Service中的User和ExecStart的屬性,然後將將本放到 /usr/lib/systemd/system/node_exporter.service 路徑下。
設為開機自啟動
systemctl enable node_exporter.service
會將文件路由到 /etc/systemd/system/multi-user.target.wants/ 目錄下
可以通過如下命令查看日誌信息
journalctl -u node_exporter -n 10 -f
❼ ubuntu 設置腳本開機自啟動
Ubuntu 18.04的改動還是比較大,很多之前版本 Ubuntu上簡單易用的一些功能都被砍了,比如設置 rc.local 自動啟動腳本的功能。之前的 Ubuntu上只需要把想要自動啟動的腳本放到 /etc/rc.local 這個文件,就可以開機啟動了,但是 Ubuntu 18.04 這樣做已經不行了,因為 rc-local.service 這個 systemd service 已經默認不啟用了。所以我們所需要做的就是重新啟用 rc-local.service,然後就可以像之前一樣簡單的設置開機自動啟動腳本了。
這個配置文件默認在 /lib/systemd/system/ 這個目錄下,我們只需將它拷貝到對應目錄:
然後編輯這個文件:
在最後加上這些內容:
修改後的 rc-local.service 文件完整如下:
配置完成後,還需要創建一個 rc.local 文件:
在這個文件里寫入我們想要開機自動啟動的命令即可。
然後給這個文件加上執行許可權:
至此,就已經完成了 rc.local 的配置,重啟之後會自動啟動對應想啟動的腳本。
如果發現沒有生效,可以嘗試:
接著啟動這個服務並查看它的狀態
命令輸出如下
可以看到rc.local中的腳本已經被正確執行了。
❽ win10 開機自動啟動腳本
windows的bat批處理啟動軟體
start+空格+/d+"需要打開的軟體安裝地址"+空格+快捷啟動名
雙引號不能丟
例如:
1、打開電腦目錄: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
2、將需要開機啟動就執行的bat腳本放入此目錄下
3、重啟電腦
或者用計劃任務來配置
控制面板\所有控制面板項\管理工具
選擇任務計劃程序
❾ linux設置開機自啟動
linux設置開機自啟動執行命令 :
執行命令 : 編輯"/etc/rc.local",添加你想開機運行的命令
運行程序腳本 :然後在文件最後一行添加要執行程序的全路徑。
例如,每次開機時要執行一個hello.sh,這個腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
注意,你的命令應該添加在:exit 0 之前
linux在「/etc/rc.d/init.d」下有很多的文件,每個文件都是可以看到內容的,其實都是一些shell腳本或者可執行二進制文件 Linux開機的時候,會載入運行/etc/init.d目錄下的程序,因此我們可以把想要自動運行的腳本放到這個目錄下即可。系統服務的啟動就是通過這種方式實現的。
簡單的說,運行級就是操作系統當前正在運行的功能級別。
例:在Ubuntu/den里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個runlevel中。
update-rc.d後面有三個參數,分別是/etc/init.d下的腳本名字,默認安裝方式,運行的優先順序。優先順序的數字越大,表示越遲運行,這里我們把自己寫的服務放在最後運行。
如果要卸載隨機啟動的服務,執行
在update-rc.d安裝的時候提示了警告信息,是因為我們寫的/etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
只需要對自啟動腳本做一些小改動,就可以避免那個警告了。如下:
到此,一個最簡單的隨機啟動服務寫好了,看起來文章挺長的,但其實也就幾個命令而已。 在下次開機啟動的時候,proxy.py就會以root用戶身份被自動運行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會啟動/opt/test.sh。內容如下:
寫了腳本文件之後事情還沒有完,繼續完成以下幾個步驟:
❿ linux設置開機自啟動腳本的最佳方式
最簡單粗暴的方式直接在腳本 /etc/rc.d/rc.local (和 /etc/rc.local 是同一個文件,軟鏈)末尾添加自己的 腳本
然後,增加腳本執行許可權
第二種方式是在crontab中設置
也可以設置每次登錄自動執行腳本,在 /etc/profile.d/ 目錄下新建sh腳本,
/etc/profile 會遍歷 /etc/profile.d/*.sh
另外,幾個腳本的區別:
(1) /etc/profile: 此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置。
(2) /etc/bashrc: 為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取(即每次新開一個終端,都會執行bashrc)。
(3) ~/.bash_profile: 每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次。默認情況下,設置一些環境變數,執行用戶的.bashrc文件。
(4) ~/.bashrc: 該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。
(5) ~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該文件. 另外,/etc/profile中設定的變數(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變數(局部)只能繼承 /etc/profile中的變數,他們是」父子」關系。
(6) ~/.bash_profile: 是互動式、login 方式進入 bash 運行的~/.bashrc 是互動式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。