首頁 > 軟體

如何在 Linux 啟動時以 root 許可權執行 bash 指令碼

2020-06-16 16:55:51

你有沒有想過用root許可權啟動指令碼? 如果你有一個家庭伺服器,甚至可能只是一個Linux桌面,這可能已經超越了你的想法。 這聽起來有點不對勁,但如果你了解風險,這樣做的回報可能相當好。

主要原因是沒有更多的啟動伺服器,通過SSH登入,輸入密碼,獲得一個root shell,然後指令碼後手動執行指令碼。 相反,利用cron的力量,並設定您的系統在啟動時自動執行這些指令碼! 以下是如何做到這一點。

設定Cron

大多數Linux發行版都可以通過輸入crontab -e來存取cron。但是,如果你已經輸入了這個命令,而且什麼都沒有發生,那你就是一個沒有辦法與cron互動的Linux發行版。這意味著你需要安裝一個工具來繼續。在這種情況下使用的最流行的工具是一個被稱為“cronie”的守護行程。它是一個非常受歡迎的工具,並駐留在大多數流行的Linux發行版庫中。

開啟一個終端,並與您的軟體包管理器一起安裝cronie。或者,轉到此頁面並下載您的發行包。

用Cron建立指令碼

開啟一個crontab是很容易的。要開始,開啟一個終端視窗並輸入以下命令:

sudo crontab -e

注意:如果你想以root身份執行指令碼,sudo是非常重要的。如果您只想以普通使用者身份執行指令碼,則可以省略sudo。

如果系統之前沒有使用crontab,使用者將需要指定一個編輯器來處理。雖然所有的編輯都很擅長,但選擇“nano”是最簡單的文字編輯器,不需要太多的操心。選擇編輯器後,cron會載入一個預設檔案,並提供詳細的說明,說明一切正常。

在終端的nano編輯器中,一直向下捲動到底部,然後寫入“@reboot”,然後開始。重新啟動命令在這裡是關鍵的,因為它告訴cron重新啟動時這個命令每次執行一次。直接重新啟動後,將完整的檔案路徑新增到bash指令碼。

@reboot /home/derrik/startupscript.sh

現在該命令已經設定,crontab可以被儲存。按下鍵盤上的“Ctrl + o”。這將提示使用者“寫出檔案”。預設情況下,cron命名crontab,所以不要改變任何東西。按確認鍵儲存crontab。

從啟動中刪除指令碼

與命令新增到crontab的方式一樣,它可以被刪除。要做到這一點,開啟一個終端,輸入sudo crontab -e。這將載入crontab檔案。只要刪除已新增的命令,儲存它,然後重新啟動計算機(或伺服器)。

Cron疑難排解

有時候cron不會執行命令,這可能是一個問題。解決任何問題與cron(應該有任何)最簡單的方法是檢視系統紀錄檔。為此,開啟終端視窗並輸入以下命令:

grep CRON /var/log/syslog

系統紀錄檔顯示所有系統事件,通過使用grep命令,可以過濾掉cron和crontag的功能。這應該允許使用者輕鬆排除故障並解決可能出錯的任何問題。

結論

Bash指令碼是一件奇妙的事情,也是Linux的強項之一。 這使得伺服器甚至普通的Linux計算機的管理變得更加容易,因為它能夠執行大量的命令並使其自動化。 通過在圖片中新增cron,這些指令碼有能力變得更有用。 在你的Linux機箱啟動後沒有更多的修補。 只要設定它,忘記它!

你將在Linux機器啟動時執行哪些根指令碼? 告訴我們下面!

這篇文章有用嗎?

本文永久更新連結地址http://www.linuxidc.com/Linux/2018-02/150704.htm


IT145.com E-mail:sddin#qq.com