Linux中國

如何在 Linux 啟動時自動執行命令或腳本

更有意思的是,在系統啟動以及用戶登錄或註銷時,還可以讓系統執行特定的操作。

本文,我們將探討一下在 Linux 操作系統中實現這些目標的傳統方法。

注意:我們假定使用的是 Bash 作為登錄及註銷的主 Shell。如果你使用的是其他 Shell,那麼有些方法可能會無效。如果有其他的疑問,請參考對應的 Shell 文檔。

啟動時執行 Linux 腳本

有兩種傳統的方法可以實現在啟動時執行命令或腳本

方法 #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 腳本

啟動時執行 Linux 腳本

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

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

在登錄或註銷時執行 Linux 腳本

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

總結

本文主要介紹如何在啟動、登錄以及註銷系統時執行腳本。如果你有其他的方法可以補充,請使用下面的評論表給我們指出,我們期待您的回應!

作者簡介:

Gabriel Cánepa 是 GNU/Linux 系統管理員, 阿根廷聖路易斯 Villa Mercedes 的 web 開發人員。他為一家國際大型消費品公司工作,在日常工作中使用 FOSS 工具以提高生產力,並從中獲得極大樂趣。

via: http://www.tecmint.com/auto-execute-linux-scripts-during-reboot-or-startup/

作者:Gabriel Cánepa 譯者:zhb127 校對:jasminepeng

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國