linux下設定開機自動執行指令碼的5種方法

2021-10-08 14:23:39 字數 2531 閱讀 2724

首先來張美圖養養眼吧,要不都沒有精神看下去是吧。。。。。。

話不多說,本文介紹幾種方法,希望能夠對你的胃口。

二、crontab計畫任務

三、使用systemd,自己寫個服務就ok了

四、在/etc/profile.d/下寫.s**件

在linux各項服務啟動完畢之後,會執行/etc/rc.d/rc.local這個檔案,所以把我們需要執行的指令碼放在這裡面就行了。

(ps:/etc/rc.local和/etc/rc.d/rc.local是同乙個檔案,軟鏈結而已)

# cat /mnt/autorun_script.sh

date

> /tmp/bootup.txt

hostname

>> /tmp/bootup.txt

echo

`whoami

` >> /tmp/bootup.txt

將/mnt/autorun_script.sh這個指令碼放到/etc/rc.d/rc.local這個檔案最後一行

最後為了保險起見,別忘了加乙個許可權

chmod  +x /mnt/autorun_script.sh

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

重啟效果見下

可以自己設定時間,下面介紹另乙個特殊的任務,叫@reboot,重啟之後自動執行指令碼。

效果見下

上面介紹的兩種方法,在任何的linux系統上都可以執行。第三種是適用systemd系統的,那麼如何判定你的系統是不是systemd系統,執行ps命令

pid為1的程序是systemd就是,反之。

所以接下來,我們開始寫systemd啟動服務,並放在/etc/systemd/system/下。

寫完之後我們更新一下systemd的配置檔案,大功告成。

systemctl daemon-reload

systemctl enable autorun_script.service

在/etc/profile.d/下寫.s**件,reboot即可

/etc/profile會遍歷/etc/profile.d/*.sh

另外,幾個指令碼的區別:

(1) /etc/profile: 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行. 並從/etc/profile.d目錄的配置檔案中蒐集shell的設定。

(2) /etc/bashrc: 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取(即每次新開乙個終端,都會執行bashrc)。

(3) ~/.bash_profile: 每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次。預設情況下,設定一些環境變數,執行使用者的.bashrc檔案。

(4) ~/.bashrc: 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取。你可以在這裡設定你的個性化終端了,就像下面這樣

(5) ~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該檔案. 另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是」父子」關係。

(6) ~/.bash_profile: 是互動式、login 方式進入 bash 執行的。~/.bashrc 是互動式 non-login 方式進入 bash 執行的通常二者設定大致相同,所以通常前者會呼叫後者。

詳細操作方法請看我的另一篇部落格點我看方法

開機自動執行指令碼

需求 自己寫了乙個定時重啟linux的shell指令碼,想要在開機的時候自動執行該指令碼 該指令碼reboot.sh內容為 bin bash while 1 do currenthour date h currentmin date m currentsec date s if currenthou...

linux下設定定時執行指令碼

1.首先安裝所需程式並啟動 crontabs是設定週期性被執行的指令 yum install vixie cron yum install crontabs service crond start service crond stop service crond status出現以下資訊則表示cro...

linux設定開機執行指令碼

由於伺服器啟動需要執行多個系統軟體 例如 nginx redis rocketmq zookeeper tomcat 伺服器每次啟動需要手動去啟動多個,比較繁瑣,所以寫個指令碼,讓開機啟動去執行即可 如果自己想再加其他的,寫成指令碼直接加入到下面的begin start.sh指令碼中即可 vim b...