Linux系統如何設定開機自動執行指令碼?
文章推薦指數: 80 %
在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。
在Windows 下,我們有很多方法可以設定開機啟動,但在Linux 系統下 ...
MdEditor
Linux系統如何設定開機自動執行指令碼?
語言:CN/TW/HK
時間 2020-06-1216:30:29
雲棲號資訊小哥
主題:
linux
指令碼
service
雲棲號資訊:【點選檢視更多行業資訊】在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!
在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。
在Windows下,我們有很多方法可以設定開機啟動,但在Linux系統下我們需要如何操作呢?
Linux下同樣可以設定開機啟動,但可能需要我們敲一些命令(可能也有UI介面的設定方法,但我不熟,我更多是玩命令)。
下面我們就介紹三種簡單但可行的開機啟動設定方法。
方法一:修改/etc/rc.d/rc.local檔案
/etc/rc.d/rc.local檔案會在Linux系統各項服務都啟動完畢之後再被執行。
所以你想要自己的指令碼在開機後被執行的話,可以將自己指令碼路徑加到該檔案裡。
但是,首先需要確認你有執行這個檔案的許可權。
$chmod+x/etc/rc.d/rc.local
為了演示,我們建立了一個指令碼,當它被執行之後,將在家目錄下寫入有特定資訊的檔案。
$vimauto_run_script.sh
#!/bin/bash
date>>/home/alvin/output.txt
hostname>>/home/alvin/output.txt
儲存退出後,再給它賦予可執行許可權:
$chmod+xauto_run_script.sh
然後,我們再將指令碼新增到/etc/rc.d/rc.local檔案最後一行:
$vim/etc/rc.d/rc.local
/home/alvin/auto_run_script.sh
碼接下來,我們就可以試試效果了。
直接重啟系統就可以了:
$sudoreboot
重啟之後,就會在家目錄下看到指令碼執行的結果了。
方法二:使用crontab
大家知道,crontab是Linux下的計劃任務,當時間達到我們設定的時間時,可以自動觸發某些指令碼的執行。
我們可以自己設定計劃任務時間,然後編寫對應的指令碼。
但是,有個特殊的任務,叫作@reboot,我們其實也可以直接從它的字面意義看出來,這個任務就是在系統重啟之後自動執行某個指令碼。
那它將執行的是什麼指令碼呢?我們如何去設定這個指令碼呢?我們可以通過crontab-e來設定。
然後,直接重啟即可。
執行的效果跟上面類似。
方法三:使用systemd服務
以上介紹的兩種方法,在任何Linux系統上都可以使用。
但本方法僅適用於systemd系統。
如何區分是不是systemd系統?很簡單,只需執行psaux命令,檢視pid為1的程序是不是systemd。
為了實現目的,我們需要建立一個systemd啟動服務,並把它放置在/etc/systemd/system/目錄下。
我們建立的systemd啟動服務如下。
請注意,這時後綴是.service,而不是.sh。
[Unit]
Description=RunaCustomScriptatStartup
After=default.target
[Service]
ExecStart=/home/alvin/auto_run_script.sh
[Install]
WantedBy=default.target
從服務的內容可以看出來,我們最終還是會呼叫/home/alvin/auto_run_script.sh這個指令碼。
然後,我們再把這個指令碼放置在/etc/systemd/systerm/目錄下,之後我們再執行下面兩條命令來更新systemd配置檔案,並啟動服務。
$systemctldaemon-reload$systemctlenableauto_run_script.service
萬事俱備之後,我們就可以重啟系統啦。
$reboot
【雲棲號線上課堂】每天都有產品技術專家分享!課程地址:https://yqh.aliyun.com/live
立即加入社群,與專家面對面,及時瞭解課程最新動態!【雲棲號線上課堂社群】https://c.tb.cn/F3.Z8gvnK
原文釋出時間:2020-06-11本文作者:良許Linux本文來自:“掘金”,瞭解相關資訊可以關注“掘金”
「其他文章」
企業IT採購最佳時機 阿里雲雙11來襲:百款超低價產品普惠上雲
如何讓一套程式碼適配所有iOS裝置尺寸?
螞蟻王旭:開源協作如何提升業界的安全?
1024,阿里雲驚喜“加油包”讓你“猿”力覺醒!
應用架構之道:分離業務邏輯和技術細節
小紅書推薦大資料在阿里雲上的實踐
基於阿里雲平臺的大資料教學案例——B站彈幕資料分析
阿里雲DNS新增雲上線路的智慧解析功能
平臺式可複用的應用整合能力,助您敏捷、高效的完成企業數字化轉型
什麼是物聯網?常見IoT物聯網協議最全講解
進擊的資料中臺,企業數字化轉型的新引擎
全新上線:DataV移動端畫布編輯器
揭祕:技術風險如何保障支付寶的穩定性?
淺談MaxCompute資源規劃管理及評估
“三清”博士與支付寶機密計算背後的故事
資料湖VS資料倉庫之爭?阿里提出大資料架構新概念:湖倉一體
螞蟻御術:我的前端十年成長之路
Hologres在阿里搜尋推薦實時資料場景下即席多維分析的最佳實踐
【資料湖開發治理篇】——資料湖開發治理平臺DataWorks
ServerlessSpark的彈性利器-EMRShuffleService
「linux」
LWN:刪除a.out支援!
Linux基礎篇——Linux網路配置(配置網絡卡、固定IP,固定hostname,終端遠端)詳解
Collision:一個驗證你的檔案是否被篡改的開源應用|Linux中國
MetadataCleaner:在Linux中清除你在圖片和檔案中的痕跡|Linux中國
華為員工辭職創辦晶片公司,身家165億
我最喜歡在Linux上玩的休閒遊戲|Linux中國
Linux運維必備技能:如何在Vim中刪除多行?
使用Sourcegraph搜尋34000多個Fedora倉庫
在M1晶片上跑原生Linux:編譯速度比macOS還快40%
(九)JVM成神路之效能調優、GC除錯、各記憶體區、Linux引數大全及實用小技巧
「指令碼」
還在手動gitadd,gitcommit?自動化釋出node指令碼來拯救你!(搭建react元件庫2---node釋出指令碼)
清明疫情期間,在家鍊金日記(python打造類似jenkins的任務控制指令碼,基於pyQt5)
pythonpytest介面自動化(12)-自動化用例編寫思路(使用pytest編寫一個測試指令碼)
autojs操作列表-下載指令碼商店程式碼
【Flutter】從安卓與iOS包體優化到一鍵自動打包指令碼的一條龍服務
最全的Linux運維bash指令碼常見用法總結
sqlmap繞過防火牆的tamper指令碼大全
Shell指令碼
多裝置除錯adb指令碼
再見Jenkins!幾行指令碼搞定自動化部署,這款神器有點厲害!
延伸文章資訊
- 1Linux系統如何設定開機自動執行指令碼?
在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。在Windows 下,我們有很多方法可以設定開機啟動,但在Linux 系統下 ...
- 2Windows 10 開機自動執行的啟動資料夾( Startup Folder )在 ...
Windows 系統有一個「啟動」資料夾,此資料夾下的應用程式會在電腦開機時自動執行,這個功能特色非常的方便,但Windows 8/10之後,這項功能被隱藏了, ...
- 3Linux系統如何設定開機自動執行指令碼? | IT人
Linux系統如何設定開機自動執行指令碼?在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。在Windows 下,我們有很多 ...
- 4Windows10開機自動執行批處理、指令碼等的方法- IT閱讀
方法/步驟: 一:開啟我的電腦, 在位址列輸入:“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”,. 二,把自動執行批...
- 5如何設定開機後自動執行程式(Windows 10) - 老操人實驗室
設定自動啟動 · 1.在左下圖示點擊滑鼠「右鍵」,點擊「執行」。 · 2.在對話框裡鍵入「shell:startup」後,點擊「確定」。 · 3.輸入指令後,就會開啟「啟動」 ...