Linux系統如何設定開機自動執行指令碼? | IT人

文章推薦指數: 80 %
投票人數:10人

Linux系統如何設定開機自動執行指令碼?在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。

在Windows 下,我們有很多 ... Togglenavigation IT人 IT人 Linux系統如何設定開機自動執行指令碼? lhrbest發表於 2020-06-29 Linux Linux系統如何設定開機自動執行指令碼? 在工作中,我們經常有個需求,那就是在系統啟動之後,自動啟動某個指令碼或服務。

在Windows下,我們有很多方法可以設定開機啟動,但在Linux系統下我們需要如何操作呢? Linux下同樣可以設定開機啟動,下面我們就介紹三種簡單但可行的開機啟動設定方法。

   方法一:修改/etc/rc.d/rc.local檔案   /etc/rc.d/rc.local  檔案會在Linux系統各項服務都啟動完畢之後再被執行。

所以你想要自己的指令碼在開機後被執行的話,可以將自己指令碼路徑加到該檔案裡。

但是,首先需要確認你有執行這個檔案的許可權。

$ chmod +x /etc/rc.d/rc.local 為了演示,我們建立了一個指令碼,當它被執行之後,將在家目錄下寫入有特定資訊的檔案。

$ vim auto_run_script.sh #!/bin/bash date >> /home/alvin/output.txt hostname >> /home/alvin/output.txt 儲存退出後,再給它賦予可執行許可權: $ chmod +x auto_run_script.sh 然後,我們再將指令碼新增到  /etc/rc.d/rc.local  檔案最後一行: $ vim /etc/rc.d/rc.local /home/alvin/auto_run_script.sh 接下來,我們就可以試試效果了。

直接重啟系統就可以了: $ sudo reboot 重啟之後,就會在家目錄下看到指令碼執行的結果了。

   方法二:使用crontab   大家知道,crontab是Linux下的計劃任務,當時間達到我們設定的時間時,可以自動觸發某些指令碼的執行。

我們可以自己設定計劃任務時間,然後編寫對應的指令碼。

但是,有個特殊的任務,叫作  @reboot  ,我們其實也可以直接從它的字面意義看出來,這個任務就是在系統重啟之後自動執行某個指令碼。

那它將執行的是什麼指令碼呢?我們如何去設定這個指令碼呢?我們可以通過  crontab-e  來設定。

$ crontab -e @reboot /home/alvin/auto_run_script.sh 然後,直接重啟即可。

執行的效果跟上面類似。

   方法三:使用systemd服務   以上介紹的兩種方法,在任何Linux系統上都可以使用。

但本方法僅適用於systemd系統。

如何區分是不是systemd系統?很簡單,只需執行  psaux  命令,檢視pid為1的程式是不是systemd。

為了實現目的,我們需要建立一個systemd啟動服務,並把它放置在  /etc/systemd/system/  目錄下。

我們建立的systemd啟動服務如下。

請注意,這時字尾是  .service  ,而不是  .sh  。

$ vim auto_run_script.service [Unit] Description=Run a Custom Script at Startup 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配置檔案,並啟動服務。

$ systemctl daemon-reload $ systemctl enable auto_run_script.service 萬事俱備之後,我們就可以重啟系統啦。

$ reboot AboutMe ........................................................................................................................ ●本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ●本文在個人微信公眾號( DB寶)上有同步更新 ●QQ群號: 230161599 、618766405,微信群私聊 ●個人QQ號(646634621),微訊號(db_bao),註明新增緣由 ●於2020年6月在西安完成 ●最新修改時間:2020年6月 ●版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店: https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ●小麥苗出版的資料庫類叢書: http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用、DBA學習班: http://blog.itpub.net/26736162/viewspace-2148098/ ●資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ........................................................................................................................ 請掃描下面的二維碼來關注小麥苗的微信公眾號( DB寶)及QQ群(230161599、618766405)、新增小麥苗微信(db_bao), 學習最實用的資料庫技術。

........................................................................................................................     來自“ITPUB部落格”,連結:http://blog.itpub.net/26736162/viewspace-2701100/,如需轉載,請註明出處,否則將追究法律責任。

相關文章 Linux下安裝Redis 2020-11-22 RedisLinux Linux系統CentOS678更換阿里yum源的方法 2020-11-21 LinuxCentOS golanggopsutil程式系統硬體資訊獲取 2020-11-21 Go 電力系統分析(第二版)HadiSaadatmatlab程式二(教材搬運) 2020-11-21 650【畢設課設】基於微控制器大氣壓監測報警系統電路方案設計 2020-11-22 作業系統實驗:銀行家演算法(C語言) 2020-11-22 演算法 Linux核心原始碼分析之set_arch(一) 2020-11-22 Linux yylAdmin基於ThinkPHP6和Vue2的極簡後臺管理系統 2020-11-22 VuePHP os-openwrt通訊類產品常用linux 2020-11-22 Linux abp(netcore)+easyui+efcore實現倉儲管理系統——出庫管理之六(五十五) 2020-11-22 Java學生管理系統(MVC)開源原始碼(基礎版) 2020-11-22 Java 現代作業系統-原理與實現【讀書筆記】 2020-11-22 遊戲系統開發繼承帶來的問題 2020-11-22 Linux特殊許可權,這一篇就夠了 2020-11-22 Linux 《推薦系統實踐》筆記01推薦系統簡介 2020-11-22 linux最常用的20個命令(一) 2020-11-22 Linux linux系統中SElinux安全子系統 2020-11-22 Linux 分散式監控系統之Zabbix網路發現 2020-11-22 linux使用者賬號和組賬號概述 2020-11-22 Linux 最新文章 《Mybatis手擼專欄》第2章:建立簡單的對映器代理工廠 什麼是機器學習迴歸演算法?【線性迴歸、正規方程、梯度下降、正則化、欠擬合和過擬合、嶺迴歸】 什麼是機器學習分類演算法?【K-近鄰演算法(KNN)、交叉驗證、樸素貝葉斯演算法、決策樹、隨機森林】 golang開發:go併發的建議 Redigo:ScanStruct()匿名指標欄位的解析 gitlab-runnerx509:certificatesignedbyunknownauthority DeepSort之原始碼解讀 Python介面自動化——檔案上傳/下載介面 與Rust勾心鬥角·點 Unabletonegotiatewithxx.xxx.xxxxport22:nomatchinghostkeytypefound.Theiroffer:ssh-rsa(解決的兩種方式) victoriaMetrics庫之布隆過濾器 微服務簡單實現最終一致性



請為這篇文章評分?