linux 定时关机命令,linux 定时关机命令
一. 關(guān)機(jī)流程
Linux 運(yùn)作時(shí), 不可以直接將電源關(guān)閉, 否則, 可能會(huì)損毀檔案系統(tǒng).
因此, 必須按照正常的程序關(guān)機(jī):
觀察系統(tǒng)使用情形(也許當(dāng)時(shí), 正有使用者做著重要的工作呢!)
通知線上使用者, 本機(jī)即將關(guān)閉. (如果, 使用者眾多, 應(yīng)該給予多一點(diǎn)的緩時(shí)間)
使用正確的 shutdown 指令.
關(guān)機(jī)使用的指令是 shutdown.
shutdown 以一種安全的方式關(guān)閉主機(jī)系統(tǒng).
它會(huì)通知所有已登入的user, 主機(jī)即將關(guān)閉, 并且會(huì)將登入(login)的活動(dòng)予以凍結(jié).
shutdown 允許你:
選擇關(guān)機(jī)、重新開機(jī)或進(jìn)入單人操成模式
設(shè)定關(guān)機(jī)時(shí)間: 可以設(shè)定成現(xiàn)在立刻關(guān)機(jī), 也可以設(shè)定某一個(gè)特定的時(shí)間,
可以自訂關(guān)機(jī)之前, 傳送給線上 user 的警告訊息
可以只送警訊息, 作勢嚇嚇user, 但卻不是真的要關(guān)機(jī). 因?yàn)? 有時(shí), 你可能想要做一些試驗(yàn), 不想有其它 user 擾.
可以選擇是否要 fsck 檢查檔案系統(tǒng)
當(dāng) shutdown 開始執(zhí)行後, 系統(tǒng)會(huì)以 SIGTERM 訊號(hào)通知所有的行程(processes), 主機(jī)即將關(guān)閉.
這麼做是必要的, 因?yàn)? 如此一來, 一些在執(zhí)行中的程式, 才能即時(shí)存檔、清除暫存檔或?qū)⑷栽谟洃涹w中的資料趕快寫入硬碟中(flush).
shutdown 以訊號(hào)通知 init, 要求 init 要切換 runlevel, 來達(dá)成上述目的.
如果是關(guān)機(jī)(halt), 則切換到 runlevel 0; 若是重新開機(jī)(reboot), 則切換到 runlevel 6; 若是單人模式(single), 則切換到 runlevel 1.
然後就交給相關(guān) runlevel 中的 script檔, 完成最後的關(guān)機(jī)事項(xiàng).
若欲知各 runlevel 的定義情形, 可參考 /etc/inittab.
二. 關(guān)機(jī)指令.
/sbin/shutdown [-t 秒數(shù)] [-rkhncfF] 時(shí)間 [警告訊息]
-t 秒數(shù) : 設(shè)定在切換至不同的runlevel之前, 警告和刪除二訊號(hào)之間的延遲時(shí)間(秒).
-k : 僅送出警告訊息文字, 但不是真的要 shutdown.
-r : shutdown 之後重新開機(jī).
-h : shutdown 之後關(guān)機(jī).
-n : 不經(jīng)過 init , 由 shutdown 指令本身來做關(guān)機(jī)動(dòng)作.(不建議你用)
-f : 重新開機(jī)時(shí), 跳過 fsck 指令, 不檢查檔案系統(tǒng).
-F : 重新開機(jī)時(shí), 強(qiáng)迫做 fsck 檢查.
-c : 將已經(jīng)正在 shutdown 的動(dòng)作取消.
例子:
shutdown -r now 立刻重新開機(jī)
shutdown -h now 立刻關(guān)機(jī)
shutdown -k now 'Hey! Go away! now....' 發(fā)出警告訊息, 但沒有真的關(guān)機(jī)
shutdown -t3 -r now 立刻重新開機(jī), 但在警告和刪除processes 之間, 延遲3秒鐘.
shutdown -h 10:42 'Hey! Go away!' 10:42 分關(guān)機(jī)
shutdown -r 10 'Hey! Go away!' 10 分鐘後關(guān)機(jī)
shutdown -c 將剛才下的 shutdown 指令取消,必須切換至其它tty, 登入之後, 才能下此一指令.
shutdown now 切換至單人操作模式(不加任何選項(xiàng)時(shí))
注意事項(xiàng):
時(shí)間參數(shù)務(wù)必要加: 不是用 now, 便是用 hh:mm 或 mm
now 其實(shí)就是 0 的意思.
不加任何選項(xiàng)的話, 會(huì)進(jìn)入 runlevel 1, 即單人操作模式.
--------------------------------------------------------------------------------
關(guān)機(jī)命令如下,第一種是將關(guān)機(jī)作為一種任務(wù),每天自動(dòng)執(zhí)行;第二種是若干小時(shí)后關(guān)機(jī)。樓主您自己選擇一種吧:
第一種方法:
用
crontab命令就可以了,下面看一下它的詳細(xì)用法。名稱 : crontab 使用權(quán)限 : 所有使用者 使用方式 : crontab [ -u
user ] file crontab [ -u user ] { -l | -r | -e } 說明 : crontab
是用來讓使用者在固定時(shí)間或固定間隔執(zhí)行程序之用,換句話說,也就是類似使用者的時(shí)程表。-u user 是指設(shè)定指定 user
的時(shí)程表,這個(gè)前提是你必須要有其權(quán)限(比如說是 root)才能夠指定他人的時(shí)程表。如果不使用 -u user 的話,就是表示設(shè)定自己的時(shí)程表。
餐數(shù) : -e : 執(zhí)行文字編輯器來設(shè)定時(shí)程表,內(nèi)定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設(shè)定 VISUAL
環(huán)境變數(shù)來指定使用那個(gè)文字編輯器(比如說 setenv VISUAL joe) -r : 刪除目前的時(shí)程表 -l : 列出目前的時(shí)程表
時(shí)程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分鐘,f2 表示小時(shí),f3 表示一個(gè)月份中的第幾日,f4
表示月份,f5 表示一個(gè)星期中的第幾天。program 表示要執(zhí)行的程序。 當(dāng) f1 為 * 時(shí)表示每分鐘都要執(zhí)行 program,f2 為 *
時(shí)表示每小時(shí)都要執(zhí)行程序,其馀類推 當(dāng) f1 為 a-b 時(shí)表示從第 a 分鐘到第 b 分鐘這段時(shí)間內(nèi)要執(zhí)行,f2 為 a-b 時(shí)表示從第 a
到第 b 小時(shí)都要執(zhí)行,其馀類推 當(dāng) f1 為 */n 時(shí)表示每 n 分鐘個(gè)時(shí)間間隔執(zhí)行一次,f2 為 */n 表示每 n
小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其馀類推 當(dāng) f1 為 a, b, c,... 時(shí)表示第 a, b, c,... 分鐘要執(zhí)行,f2 為 a, b,
c,... 時(shí)表示第 a, b, c...個(gè)小時(shí)要執(zhí)行,其馀類推 使用者也可以將所有的設(shè)定先存放在檔案 file 中,用 crontab
file 的方式來設(shè)定時(shí)程表。 例子 : 每月每天每小時(shí)的第 0 分鐘執(zhí)行一次 /bin/ls : 0 7 * * * /bin/ls 在 12
月內(nèi), 每天的早上 6 點(diǎn)到 12 點(diǎn)中,每隔 20 分鐘執(zhí)行一次 /usr/bin/backup : 0 6-12/3 * 12 *
/usr/bin/backup 周一到周五每天下午 5:00 寄一封信給 alex@domain.name : 0 17 * * 1-5
mail -s "hi" alex@domain.name < /tmp/maildata 每月每天的午夜 0 點(diǎn) 20 分, 2 點(diǎn)
20 分, 4 點(diǎn) 20 分....執(zhí)行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 :
當(dāng)程序在你所指定的時(shí)間執(zhí)行后,系統(tǒng)會(huì)寄一封信給你,顯示該程序執(zhí)行的內(nèi)容,若是你不希望收到這樣的信,請?jiān)诿恳恍锌找桓裰蠹由?>
/dev/null 2>&1 即可
第二種方法:
使用shutdown定時(shí)關(guān)機(jī)的問題
shutdown: invalid option -- -
Usage: shutdown [-akrhfnc] [-t secs] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **
PS:我是這樣的shutdown -t 54000 就是運(yùn)行15小時(shí)后自動(dòng)關(guān)機(jī)
總結(jié)
以上是生活随笔為你收集整理的linux 定时关机命令,linux 定时关机命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 段错误Segmentation
- 下一篇: 【linux多线程】c++多线程的几种创