zoukankan      html  css  js  c++  java
  • linux 定时关机命令

    一. 关机流程

    Linux 运作时, 不能够直接将电源关闭, 否则, 可能会损毁档案系统.

    因此, 必须依照正常的程序关机:

    观察系统使用情形(或许当时, 正有使用者做着重要的工作呢!)
    通知线上使用者, 本机即将关闭. (假设, 使用者众多, 应该给予多一点的缓时间)
    使用正确的 shutdown 指令.
    关机使用的指令是 shutdown.

    shutdown 以一种安全的方式关闭主机系统.

    它会通知全部已登入的user, 主机即将关闭, 而且会将登入(login)的活动予以冻结.

    shutdown 同意你:

    选择关机、又一次开机或进入单人操成模式
    设定关机时间: 能够设定成如今立马关机, 也能够设定某一个特定的时间,
    能够自订关机之前, 传送给线上 user 的警告讯息
    能够仅仅送警讯息, 作势吓吓user, 但却不是真的要关机. 由于, 有时, 你可能想要做一些试验, 不想有其他 user 扰.
    能够选择是否要 fsck 检查档案系统
    当 shutdown 開始运行後, 系统会以 SIGTERM 讯号通知全部的行程(processes), 主机即将关闭.

    这麽做是必要的, 由于, 如此一来, 一些在运行中的程式, 才干即时存档、清除暂存档或将仍在记忆体中的资料赶快写入硬碟中(flush).

    shutdown 以讯号通知 init, 要求 init 要切换 runlevel, 来达成上述目的.

    假设是关机(halt), 则切换到 runlevel 0; 若是又一次开机(reboot), 则切换到 runlevel 6; 若是单人模式(single), 则切换到 runlevel 1.

    然後就交给相关 runlevel 中的 script档, 完毕最後的关机事项.

    若欲知各 runlevel 的定义情形, 可參考 /etc/inittab.

    二. 关机指令.

    /sbin/shutdown [-t 秒数] [-rkhncfF] 时间 [警告讯息]

    -t 秒数 : 设定在切换至不同的runlevel之前, 警告和删除二讯号之间的延迟时间(秒).

    -k : 仅送出警告讯息文字, 但不是真的要 shutdown.

    -r : shutdown 之後又一次开机.

    -h : shutdown 之後关机.

    -n : 不经过 init , 由 shutdown 指令本身来做关机动作.(不建议你用)

    -f : 又一次开机时, 跳过 fsck 指令, 不检查档案系统.

    -F : 又一次开机时, 强迫做 fsck 检查.

    -c : 将已经正在 shutdown 的动作取消.



    样例:

    shutdown -r now 立马又一次开机
    shutdown -h now 立马关机
    shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有真的关机
    shutdown -t3 -r now 立马又一次开机, 但在警告和删除processes 之间, 延迟3秒钟.
    shutdown -h 10:42 'Hey! Go away!' 10:42 分关机
    shutdown -r 10 'Hey! Go away!' 10 分钟後关机
    shutdown -c 将刚才下的 shutdown 指令取消,必须切换至其他tty, 登入之後, 才干下此一指令.
    shutdown now 切换至单人操作模式(不加不论什么选项时)

    注意事项:

    时间參数务必要加: 不是用 now, 便是用 hh:mm 或 mm
    now 事实上就是 0 的意思.


    不加不论什么选项的话, 会进入 runlevel 1, 即单人操作模式.

    --------------------------------------------------------------------------------

    关机命令例如以下,第一种是将关机作为一种任务,每天自己主动运行;另外一种是若干小时后关机。楼主您自己选择一种吧:

    第一种方法:

    用crontab命令就能够了,以下看一下它的具体使用方法。名称 : crontab 使用权限 : 全部使用者 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab 是用来让使用者在固定时间或固定间隔运行程序之用,换句话说,也就是相似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必需要有其权限(比方说是 root)才干够指定他人的时程表。假设不使用 -u user 的话,就是表示设定自己的时程表。 餐数 : -e : 运行文字编辑器来设定时程表,内定的文字编辑器是 VI,假设你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比方说 setenv VISUAL joe) -r : 删除眼下的时程表 -l : 列出眼下的时程表 时程表的格式例如以下 : f1 f2 f3 f4 f5 program 当中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要运行的程序。 当 f1 为 * 时表示每分钟都要运行 program,f2 为 * 时表示每小时都要运行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要运行,f2 为 a-b 时表示从第 a 到第 b 小时都要运行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔运行一次,f2 为 */n 表示每 n 小时个时间间隔运行一次,其馀类推 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要运行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要运行,其馀类推 使用者也能够将全部的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 样例 : 每月每天每小时的第 0 分钟运行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟运行一次 /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 点 20 分, 2 点 20 分, 4 点 20 分....运行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 : 当程序在你所指定的时间运行后,系统会寄一封信给你,显示该程序运行的内容,若是你不希望收到这种信,请在每一行空一格之后加上 > /dev/null 2>&1 就可以

    另外一种方法:

    使用shutdown定时关机的问题

    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 就是运行15小时后自己主动关机 

  • 相关阅读:
    zookeeper 集群安装(单点与分布式成功安装)
    ubuntu下tty1tty5命令控制台无法登录
    (1)《QT+OpenGL学习之我见》初始化窗口及三个重要函数 vs+Qt
    完全免费和开源的权限管理系统
    系统在iis6上部署
    代码生成那点事
    大整数乘法计算
    对字符串和字符数组的理解
    不被严格文档类型支持的元素
    Java实现一个简单的聊天小程序
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4363811.html
Copyright © 2011-2022 走看看