首頁 > 軟體

在 Linux 啟動或重新啟動時執行命令與指令碼

2020-06-16 16:58:40

有時可能會需要在重新啟動時或者每次系統啟動時執行某些命令或者指令碼。我們要怎樣做呢?本文中我們就對此進行討論。 我們會用兩種方法來描述如何在 CentOS/RHEL 以及 Ubuntu 系統上做到重新啟動或者系統啟動時執行命令和指令碼。 兩種方法都通過了測試。

方法 1 – 使用 rc.local

這種方法會利用 /etc/ 中的 rc.local 檔案來在啟動時執行指令碼與命令。我們在檔案中加上一行來執行指令碼,這樣每次啟動系統時,都會執行該指令碼。

不過我們首先需要為 /etc/rc.local 新增執行許可權,

  1. $ sudochmod+x /etc/rc.local

然後將要執行的指令碼加入其中:

  1. $ sudovi/etc/rc.local

在檔案最後加上:

  1. sh /root/script.sh &

然後儲存檔案並退出。使用 rc.local 檔案來執行命令也是一樣的,但是一定要記得填寫命令的完整路徑。 想知道命令的完整路徑可以執行:

  1. $ which command

比如:

  1. $ which shutter
  2. /usr/bin/shutter

如果是 CentOS,我們修改的是檔案 /etc/rc.d/rc.local 而不是 /etc/rc.local。 不過我們也需要先為該檔案新增可執行許可權。

注意:- 啟動時執行的指令碼,請一定保證是以 exit 0 結尾的。

方法 2 – 使用 Crontab

該方法最簡單了。我們建立一個 cron 任務,這個任務在系統啟動後等待 90 秒,然後執行命令和指令碼。

要建立 cron 任務,開啟終端並執行

  1. $ crontab -e

然後輸入下行內容,

  1. @reboot(sleep90; sh locationscript.sh )

這裡 locationscript.sh 就是待執行指令碼的地址。

我們的文章至此就完了。如有疑問,歡迎留言。


via: http://linuxtechlab.com/executing-commands-scripts-at-reboot/

作者:Shusain 譯者:lujun9972 校對:wxy

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

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-12/149302.htm


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