Linux系統開機時,如何自動執行特定腳本?

當你按下開機鍵或者啓動一個虛擬機的時候,你就啓動了一系列事件,然後你就會進入一個功能完備的系統中,在系統啓動以及登錄或者註銷的過程中,還可以讓系統執行特定的操作,以下介紹幾個比較傳統的方法。(bash)

啓動時執行shell腳本

1.使用cron任務

除了常用格式(分 / 時 / 日 / 月 / 周)外,cron 調度器還支持 @reboot 指令。這個指令後面的參數是腳本(啓動時要執行的那個腳本)的絕對路徑。

然而,這種方法需要注意兩點:

  • a) cron 守護進程必須處於運行狀態(通常情況下都會運行),同時
  • b) 腳本或 crontab 文件必須包含需要的環境變量(如果有的話,參考 StackOverflow 獲取更多詳細內容)。

2.使用/etc/rc.d/rc/local

這個方法對於 systemd-based 發行版 Linux 同樣有效。不過,使用這個方法,需要授予 /etc/rc.d/rc.local 文件執行權限:

chmod +x /etc/rc.d/rc.local

然後在這個文件底部添加腳本。

下圖說明如何分別使用 cron 任務和 rc.local 運行兩個示例腳本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。

script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
  • 啓動時執行 Linux 腳本

記住,一定要提前給兩個示例腳本授予執行權限:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh

在登錄或註銷時執行 Linux 腳本
要在登錄或註銷時執行腳本,分別需要使用 ~.bash_profile 和 ~.bash_logout 文件。多數情況下,後者需要手動創建。在每個文件的底部,添加調用腳本代碼,如前面例中所示,就可以實現這個功能。

作者:少帥

出處:少帥的博客–http://www.cnblogs.com/wang3680

您的支持是對博主最大的鼓勵,感謝您的認真閱讀。

本文版權歸作者所有,歡迎轉載,但請保留該聲明。

發佈了107 篇原創文章 · 獲贊 11 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章