`

Linux 定时关机

阅读更多
以root身份进入系统:


1、先用vi编辑器建立一个文件,如guanji
#vi guanji


输入如下内容:

30 17 * * * halt -p


退出保存:wq!

(以上例子是下午17点30分关机挂起)


2、执行crontab命令:

#crontab guanji


既可


3,要检查下自动执行定时任务的服务有没有开启,如没有,要开启

----------------------------------------------------------
crontab命令使用
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
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 的方式来设定时程表。

例子1 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /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 即可

例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
----------------------------------------------------------

Linux关机命令详解
日期:2005-05-27   来源: LinuxAid.com.cn   作者: sword_martin

    在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。

1.shutdown
   shutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。

    而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

    shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
   shutdown 参数说明:
   [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
   [-r] 重启计算器。
   [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
   [-h] 关机后关闭电源〔halt〕。
   [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往往不总是你所预期得到的。
   [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
   [-f] 在重启计算器〔reboot〕时忽略fsck。
       [-F] 在重启计算器〔reboot〕时强迫fsck。
   [-time] 设定关机〔shutdown〕前的时间。
     
2.halt----最简单的关机命令
   其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
   参数说明:
   [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
   [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
   [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
   [-f] 没有调用shutdown而强制关机或重启。
   [-i] 关机〔或重启〕前﹐关掉所有的网络接口。
   [-p] 该选项为缺省选项。就是关机时调用poweroff。
  
3.reboot
    reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多。

4.init
   init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有 telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

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

1.直接用crontab命令编辑

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab-u//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab-l//列出某个用户cron服务的详细内容

crontab-r//删除没个用户的cron服务

crontab-e//编辑某个用户的cron服务

比如说root查看自己的cron设置:crontab-uroot-l

再例如,root想删除fred的cron设置:crontab-ufred-r

在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab-uroot-e

进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1****ls>>/tmp/ls.txt

这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:

分钟 (0-59)

小時 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:

每天早上6点

06***echo"Goodmorning.">>/tmp/test.txt//注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时

0*/2***echo"Haveabreaknow.">>/tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

023-7/2,8***echo"Haveagooddream:)">>/tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0114*1-3commandline

1月1日早上4点

0411*commandline

每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab-e来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。

2.编辑/etc/crontab文件配置cron

cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
引用

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin


MAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=///使用者运行的路径,这里是根目录
引用

#run-parts

01****rootrun-parts/etc/cron.hourly//每小时执行/etc/cron.hourly内的脚本

024***rootrun-parts/etc/cron.daily//每天执行/etc/cron.daily内的脚本

224**0rootrun-parts/etc/cron.weekly//每星期执行/etc/cron.weekly内的脚本

4241**rootrun-parts/etc/cron.monthly//每月去执行/etc/cron.monthly内的脚本


大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

分享到:
评论

相关推荐

    定时关机--按设定时间定时关机

    三、Linux定时关机 在Linux系统中,可以使用`echo "date +'%Y-%m-%d %H:%M:%S' &gt;&gt; /tmp/shutdown.log && shutdown -h now" | at 时间`来安排关机,或者通过编辑`crontab -e`设置定时任务。 四、应用场景 定时关机...

    Linux 定时自动关机命令

    在Linux 运行一段时间之后,让其kill点所有正在运行的程序并自动关机,可用shutdown命令。

    多时段设置定时关机工具

    "多时段设置定时关机工具"就是这样一个实用的应用程序,它允许用户预先设定多个不同的时间点,以便在到达设定时间时自动关闭计算机。这样的工具对于那些需要在特定时间执行系统维护、节省电力或者在无人值守时自动...

    定时关机--测试可以使用

    二、Linux系统的定时关机 在Linux环境下,可以使用`shutdown`命令实现定时关机。例如,若想在30分钟后关机,可以运行: ``` sudo shutdown +30 ``` 若需在特定时间,如22:30关机,可以使用: ``` sudo shutdown ...

    定时关机源码

    在IT领域,定时关机功能是一项实用且常见的需求,尤其对于服务器管理和个人计算机的节能管理。本主题将围绕“定时关机源码”展开,结合使用Qt库来创建用户界面,探讨如何实现这一功能。 首先,Qt是一个跨平台的C++...

    自制定时关机小程序开放源码

    自制定时关机小程序是一款非常实用的工具,尤其适合那些需要在特定时间自动关闭计算机的用户。这款程序的源码开放,为编程爱好者提供了一个学习和研究的好机会。通过分析和理解源码,我们可以深入了解到如何在编程中...

    定时关机 定时关机 定时关机

    对于Linux系统,定时关机通常通过`cron`计划任务服务实现。用户可以在`crontab`中添加一个定时任务,例如,使用`0 23 * * * /sbin/shutdown -h now`命令设置每天23点整关机。这里`0 23 * * *`是时间格式,分别代表...

    超好用的定时关机小工具 定时关机

    定时关机功能的实现主要依赖于计算机的操作系统,大部分现代操作系统如Windows、macOS和Linux都内置了定时任务或计划程序,可以设置在指定时间执行关机操作。在Windows系统中,我们可以利用“任务计划程序”来创建...

    定时关机定时关机时关机定时关机

    在Windows、Linux和Mac OS等操作系统中,都有内置或第三方工具来实现定时关机。 在Windows系统中,你可以通过命令行工具“shutdown”来实现定时关机。例如,如果你想让电脑在两小时后自动关机,可以打开命令提示符...

    定时关机脚本 定时关机脚本

    在Windows和Linux操作系统中,实现定时关机的方法各有不同。 在Linux环境中,我们可以使用`shutdown`命令来创建一个简单的定时关机脚本。例如,如果我们希望在24小时后的特定时间(比如23:59)关机,可以在终端输入...

    电脑定时关机软件下载

    这时,一款电脑定时关机软件就显得非常实用。"电脑定时关机软件下载"这个主题关注的就是这类能够帮助用户设定电脑自动关机时间的工具。 定时关机软件的主要功能是设定一个预设的时间点,当到达这个时间点时,电脑将...

    C语言定时关机小程序

    根据给定的文件信息,我们可以总结出以下关于“C语言定时关机小程序”的知识点: ### 一、程序功能概述 该程序主要实现了基于C语言的定时关机功能,用户可以根据菜单选择不同的操作,如设置定时关机、立即关机、...

    定时关机定时关机,简单方便

    在IT领域,定时关机是一项基础但非常实用的功能,它允许用户预设一个特定时间,让计算机在指定的时间自动关闭,以节省能源或确保在无人值守时完成特定任务后自动关机。本篇文章将深入探讨定时关机的概念、实现方式...

    定时关机文档

    **Linux系统定时关机** 对于Linux用户,可以使用`shutdown`或`cron`命令。例如,`sudo shutdown -h +30`会在30分钟后关机。若要定时执行,可以利用`crontab`编辑定时任务。 **第三方软件与实用工具** 除了操作...

    定时关机软件 (可远程关机)

    定时关机软件是一种实用工具,它允许用户预先设置一个时间点,系统会在指定的时间自动执行关机操作。这种软件在需要节省电力、自动化任务管理或确保计算机在无人值守时安全关闭的情况下非常有用。同时,具备远程关机...

    定时关机源码,带模块

    在IT行业中,定时关机功能是一项实用且常见的需求,尤其对于服务器管理和个人计算机的节能管理。这个名为"定时关机源码,带模块"的资源提供了实现这一功能的编程代码,使得开发者能够轻松地集成到自己的项目中。下面...

    定时关机酷,想什么时候关机就什么时候关机

    在Linux系统中,可以使用cron调度器来安排任务,执行如`shutdown`或`halt`命令来实现定时关机。而在移动设备如Android或iOS上,虽然系统默认可能不提供定时关机功能,但可以通过安装第三方应用来实现类似功能。 ...

    定时关机辅助 定时关机

    6. **兼容性**:定时关机辅助软件应能在不同的操作系统环境下正常工作,如Windows的各个版本,甚至可能包括Mac OS或Linux。 在提供的压缩包文件中,"CC定时关机.exe"很可能是这个定时关机辅助软件的可执行文件。在...

    Java 定时关机 源码+Jar

    本项目“Java 定时关机 源码+Jar”提供了一种使用Java来实现计算机定时关机的方法,这对于开发者来说是一个实用的小工具,尤其是在长时间运行的任务结束后自动关闭计算机的场景下。 首先,让我们深入理解Java中的...

    java 定时关机小程序

    Java定时关机小程序是一种实用的计算机管理工具,它允许用户设定一个特定的时间点,系统将自动执行关机操作。在Java编程中实现这样的功能主要涉及到操作系统交互和时间处理。下面我们将详细探讨如何使用Java来创建...

Global site tag (gtag.js) - Google Analytics