一、前言

为了以后不用再半夜跑回实验室关电脑,昨天中午花了两个小时左右的时间搞了一下如何实现Linux系统的定时关机,结果没搞出来。在老师的指点下得以解决,写一博客分享之。

另,发现现在网上的资料越发的不靠谱了,昨日查阅了那么多资料都没有解决问题。

本博文主要内容如下:

Linux16.04系统定时关机的实现;

crontab命令和文件的相关解析。

二、定时关机的实现

废话不多说,直接点明解决方法,具体解析见下一目录。

傻瓜式解决问题,步骤如下:

2.1 查看/etc/crontab文件

进入/etc目录

cd /etc

查看crontab文件

vi crontab

文件内容如下:

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/sh

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

# m h dom mon dow user command

17 * * * * root cd / && run-parts --report /etc/cron.hourly

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

#下面这一行是定时关机的实现

55 22 * * * root /sbin/shutdown -h now

#

(红框中为个人添加内容)

截图如下:

2.2 修改crontab文件

使用root权限打开并修改crontab文件。

sudo vi crontab

添加你要实现的定时关机操作

例如,我想在每天22时55分定时关机:

55 22 * * * root /sbin/shutdown -h now

具体格式如下:

m + h + dom + mon + dow + user + command

解析:分钟 + 小时 + 日 + 月 + 星期 + 具体操作(该操作可以是执行某条命令也可以是执行某个脚本)

三、crontab命令详解

3.1 crond简介

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

3.2 crontab命令详解

3.2.1 crontab命令

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

3.2.2 命令解析

1.命令格式:

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

2.命令功能:

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。

3.命令参数:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示。

3.3 crontab文件详解

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

3.3.1 系统任务

系统任务调度是指系统需要周期性进行的任务操作,具有周期性和强制性。

系统任务在/etc目录下的crontab文件中,如上文所示。

文件内容:

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.

SHELL=/bin/sh

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

# m h dom mon dow user command

17 * * * * root cd / && run-parts --report /etc/cron.hourly

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

#

文件简析:

a.环境变量配置

前两行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是sh,第二行PATH变量指定了系统执行 命令的路径主要有/usr/local/sbin、/usr/local/bin、/sbin、/bin、/usr/sbin、/usr/bin等路径。

b.任务详解

文件正文是该系统的系统任务调度,每一行都是一个任务。

17 * * * * root cd / && run-parts --report /etc/cron.hourly

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

3.3.2 用户任务调度

1.使用命令为你要某个用户添加的操作。

sudo crontab -u username -e

然后保存退出。

截图如下:

2.启动cron

命令

/etc/init.d/cron start

3.4 如何使用crontab命令设立定时任务

使用root在/etc/crontab文件下添加你要执行的定时任务即可。

任务格式:m + h + dom + mon + dow + user + command(分钟 + 小时 + 日 + 月 + 星期 + 具体操作)

其中:

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

四、个人总结

1.如何更好的使用/etc/crontab文件,使系统任务更加高效调理

2.如何将任务的执行结果及时有效地反馈给用户

五、参考资料

http://www..com/xiaoluo501395377/archive/2013/04/06/3002602.html

linux crontab 定时关机,Linux系统使用--定时关机的实现以及crontab命令和文件详解...相关推荐

  1. linux rm 删除文件,linux rm命令删除文件详解

    linux rm命令删除文件详解 linux中rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持 ...

  2. linux find 命令通配符,linux find命令查找文件详解

    首页 > Linux教程 > 常用命令 > find 查找文件 linux find命令查找文件详解 linux中find命令用来在指定目录下查找文件,如果使用该命令时,不设置任何参 ...

  3. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...

  4. php能做定时关机吗,window_win10怎么定时关机?Win10系统定时关机命令使用方法详解,对于电脑用户来说,定时关机 - phpStudy...

    win10怎么定时关机?Win10系统定时关机命令使用方法详解 对于电脑用户来说,定时关机有时候经常会用到,比如夜间下载东西或者下载一些大文件,而又没有时间一直守着电脑,这时候设置电脑定时关机就很实用 ...

  5. Linux系统常用命令及其使用详解大全

    Linux系统常用命令及其使用详解大全 整理了linux常用的命令,最长常用的也就几十个,cd,ls ,vi等等,有些容易忘记,经常拿出来看看. 其他的可以推荐一个网站,https://www.lin ...

  6. 红帽linux 系统日志,RedHat系统常见的日志文件详解一

    RedHat系统常见的日志文件详解一 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息.% @7 h7 s, Y5 z! V' h- ...

  7. linux管道命令详解,Linux系统中的管道命令的用法详解

    Linux系统中管道命令是linux系统的一个强大之处.下面由学习啦小编为大家整理了Linux系统中的管道命令的用法详解的相关知识,希望对大家有帮助! Linux系统中的管道命令的用法详解 管道命令操 ...

  8. Linux系统强制位u+s、g+s、o+t 详解

    Linux系统强制位u+s.g+s.o+t 详解 u+s:一个命令,给与用户s权限,则此用户暂时获得这个命令的属主权限 (例chmod u+s /usr/bin/touch或者chmod 4755 / ...

  9. tail是Linux命令吗,linux系统中tail命令的使用详解

    Linux系统中tail命令是查看文件末尾内容的主要功能,下面由学习啦小编为大家整理了linux系统中tail命令的使用详解,希望对大家有帮助! linux系统中tail命令的使用详解 1 命令功能 ...

最新文章

  1. SSL ×××与IPSec ×××特点比较
  2. ddz指标最佳数值_一个良心操盘手的肺腑之言:炒股10年从未被套,只依靠RSI指标!...
  3. sql server left join 重复数据原因图
  4. 达梦数据库修改字段长度_DM7 达梦数据库 序列 和 自增列 说明
  5. 文本挖掘(part4)--N-gram模型
  6. 关于slot、slot-scope的指令的一些操作记录
  7. 聊一聊Elasticsearch和MySQL的常用操作
  8. java的几种对象(PO,VO,DAO,BO,POJO)解释
  9. orb特征描述符 打开相机与图片物体匹配
  10. Win10 系统时间错误
  11. apache common-chain 简单使用
  12. matlab兔子问题,【matlab】狼追击兔子问题的建模
  13. “打开文件所在位置”提示“找不到应用程序”的解决方案
  14. 5.29 C语言练习(计算数字个数:从键盘输入一串字符,输出字符串里的数字字符数。)
  15. matlab截取5到10秒音频,如何截取音频中的一段
  16. 用户态协议栈之epoll实现
  17. 音频交流会(个人学习向项目)
  18. Windows7下安装Docker、下载镜像和运行OpenTsdb容器
  19. 【PaperReading】Prevalence and patterns of higher-order drug interactions in Escherichia coli
  20. 牛市源码定制,抖音矩阵系统源头开发,here

热门文章

  1. PhotoshopCS5 第四篇 绘制与编辑图像
  2. [附源码]java毕业设计社区生鲜仓库管理系统
  3. STM32 HAL库和LL库的区别
  4. Textaizer Pro 4.3 build 44 汉化版(字符绘画工具) 大眼仔~旭
  5. [eStore] Build simplest spring MVC project with maven
  6. Office 365:用AI进化生产力平台
  7. 金融计算机的amort,CFA考试辅导:如何用计算器Amort键计算interest rate
  8. 心电图系统服务器与存储系统,心电数据存储 - 基于手机通信的心电图机设计方案...
  9. C# 应用程序防多开方法
  10. 推荐引擎职位_最佳职位搜索引擎