在Linux啟動(dòng)或重啟時(shí)執(zhí)行命令與腳本
有時(shí)可能會(huì)需要在重啟時(shí)或者每次系統(tǒng)啟動(dòng)時(shí)運(yùn)行某些命令或者腳本。我們要怎樣做呢?本文中我們就對(duì)此進(jìn)行討論。 我們會(huì)用兩種方法來(lái)描述如何在 CentOS/RHEL 以及 Ubuntu 系統(tǒng)上做到重啟或者系統(tǒng)啟動(dòng)時(shí)執(zhí)行命令和腳本。 兩種方法都通過了測(cè)試。
方法 1 – 使用 rc.local
這種方法會(huì)利用 /etc/ 中的 rc.local 文件來(lái)在啟動(dòng)時(shí)執(zhí)行腳本與命令。我們?cè)谖募屑由弦恍衼?lái)執(zhí)行腳本,這樣每次啟動(dòng)系統(tǒng)時(shí),都會(huì)執(zhí)行該腳本。
不過我們首先需要為 /etc/rc.local 添加執(zhí)行權(quán)限,
- $ sudo chmod +x /etc/rc.local
然后將要執(zhí)行的腳本加入其中:
- $ sudo vi /etc/rc.local
在文件最后加上:
- sh /root/script.sh &
然后保存文件并退出。使用 rc.local 文件來(lái)執(zhí)行命令也是一樣的,但是一定要記得填寫命令的完整路徑。 想知道命令的完整路徑可以運(yùn)行:
- $ which command
比如:
- $ which shutter
- /usr/bin/shutter
如果是 CentOS,我們修改的是文件 /etc/rc.d/rc.local 而不是 /etc/rc.local。 不過我們也需要先為該文件添加可執(zhí)行權(quán)限。
注意:- 啟動(dòng)時(shí)執(zhí)行的腳本,請(qǐng)一定保證是以 exit 0 結(jié)尾的。
方法 2 – 使用 Crontab
該方法最簡(jiǎn)單了。我們創(chuàng)建一個(gè) cron 任務(wù),這個(gè)任務(wù)在系統(tǒng)啟動(dòng)后等待 90 秒,然后執(zhí)行命令和腳本。
要?jiǎng)?chuàng)建 cron 任務(wù),打開終端并執(zhí)行
- $ crontab -e
然后輸入下行內(nèi)容,
- @reboot ( sleep 90 ; sh \location\script.sh )
這里 \location\script.sh 就是待執(zhí)行腳本的地址。
我們的文章至此就完了。如有疑問,歡迎留言。