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

2022-05-31 22:39:10 字數 1402 閱讀 2409

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

本文導航◈ 方法 1 – 使用 rc.local14%◈ 方法 2 – 使用 crontab61%編譯自 |  

作者 | shusain

譯者 | lujun9972

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

方法 1 – 使用 rc.local

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

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

$ sudochmod+x /etc/rc.local

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

$ sudovi/etc/rc.local

在檔案最後加上:

sh /root/script.sh &

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

$ which command

比如:$ which shutter

/usr/bin/shutter

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

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

方法 2 – 使用 crontab

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

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

$ crontab -e

然後輸入下行內容,

@reboot(sleep90;sh \location\script.sh )

這裡\location\script.sh就是待執行指令碼的位址。

讓Linux終端同時執行多個Linux命令

在一行中執行兩個或多個命令可以節省大量時間,並在linux中提高效率。在linux中,有三種方法可以在一行中執行多個命令 使用 符號執行多條命令 其中最簡單的是分號 使用方式如下 cmd1 cmd2 cmd3cmd1將首先執行,不管cmd1執行成功還是出現錯誤,cmd2都會在它之後執行,當cmd2命...

Linux下啟動 關閉及重啟apache命令

如果是 linux 自己帶的 apache 的話就使用命令 啟動service httpd stop 關閉service httpd restart 重新啟動 如果是自己安裝的話,我的是自己安裝的,在 usr sbin httpd目錄下,進入到 usr sbin之後再執行一下命令 啟動service...

詳解linux中nginx啟動 重啟 關閉命令

nginx c usr local nginx conf nginx.conf c引數指定了要載入的nginx配置檔案路徑 停止操作 停止操作是通過向nginx程序傳送訊號來進行的 步驟1 查詢nginx主程序號?ps ef grepnginx 在程序列表裡 面找master程序,它的編號就是主程序...