循环重复的执行计划任务、有计划性的执行任务,像这种任务,在linux系统中就有cron命令来完成。

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

/etc/crontab文件就是系统任务调度的配置文件:

[root@centos ~]# cat /etc/crontab

SHELL=/bin/bash

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

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

[root@centos ~]#

前四行是配置crond任务运行的环境变量,第一行SHELL变量指定了使用/bin/bash,第二行PATH变量指定了系统执行命令的路径。第三行MAILTO变量指定了cron的任务执行信息将发送给root用户,第四行HOME变量指定了在执行命令或者脚本时使用的主目录,

用户任务调度:用户顶起要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron/目录中,其文件名和用户名保持一致。

文件:

/etc/cron.deny   #该文件中所列用户不允许使用crontab命令

文件:

/etc/cron.allow   #该文件中所列用户允许使用crontab命令

文件:

/var/spool/cron/  #所有用户crontab文件存放的目录,以用户名命名

crontab的使用格式:minute  hour  day  month  week  command

如果minute使用*表示,则代表每分钟,可取0-59之间的整数。一次类推。

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

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

crond服务是集成在系统上的,哪怕是安装最小化系统,这项服务也会被安装上。

crontab 命令格式: crontab [ –u user ]  file

crontab [  -u  user ]   [ –e ] [ –l ] [ –r ] [ –i ]

crontab –u jack 表示使用jack这个用户来运行命令

-e参数的意思是“编辑” -l参数的含义是“查看计划任务” -r参数的含义是“删除计划任务”这个参数会删除/var/spool/cron目录下的所有几乎任务。-i参数的意思是在删除用户的crontab文件是给确认提示。给出交互提示。

实例: 0 4 1 jan * /etc/int.d/smb restart   #1月1号早上4点整重启smb服务。

01 * * * *  root run-parts /etc/cron.hourly  #每小时以root用户的身份执行/etc/cron.hourly目录下的所有脚本。 注:如果去掉run-parts参数的话,目录后面就必须跟上某个具体的脚本,而不能是某个文件夹。

注意:

1. 如果我们创建了一个crontab文件,但是任务无法执行,而手动执行这个任务是没有问题的。这种情况下一般是由于在crontab文件中没有配置环境变量引起的。

2. 注意清理系统用户的邮件日志,每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件传递给用户,改信息一般保存在/var/spool/mail目录下。这样日积月累,这个目录下的日志信息会非常大,可能会影响系统的正常运行。因此将每条任务执行后进行重定向非常重要。

例:0  */3  *  *  *  /usr/local/apache2/apachectl restart  >/dev/null  2>&1

>/dev/null的意思是将输出信息清除,2>&1的意思是将标准错误重定向到标准输出,而标准输出已经重定向到了/dev/null中,所以无论是标准输出还是标准错误都会重定向到/dev/null中。

另外,新建的cron job不会立马执行,至少要等两分钟才能执行,如果重启cron才会马上执行。

当crontab突然失效时,可以重启cron服务;或者查看日志:tail  -f /var/log/cron

linux十分钟调度一次,linux系统任务调度命令crontab相关推荐

  1. 工欲善其事,必先利其器————每天十分钟搭建编程环境:Linux下设置雅黑-Consolas混合字体

    Consolas是一种专门为编程人员设计的字体,这一字体的特性是所有字母.数字与符号均能非常容易辨认,而且所有字符都具有相同的宽度,让编人员看着更舒服.但我们用Consolas在显示程序源码时,不可避 ...

  2. linux十几种常用命令,Linux几种常用命令(简易版)

    Linux几种常用命令(简易版) 工作中,常会用到Linux的命令,有的命令老是容易忘,用到了还得现查,为了方便自己查阅,整理一点最基(chang)本(shi)的Linux命令,尤其是文件与目录的操作 ...

  3. linux结束所有任务命令行,Linux基础命令(15)定时任务

    释放双眼,带上耳机,听听看~! crontad Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计 ...

  4. Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因

    Linux下LCD自动关闭解决方法 主机环境:Gentoo Linux 11.2 内核版本:Linux Kernel 3.2.1 原创作品,转载请表明http://blog.csdn.net/ymin ...

  5. Linux一键部署duckchat,DuckChat 1.0.7发布,十分钟快速搭建聊天系统

    DuckChat 1.0.7发布,十分钟快速搭建聊天系统 2018年09月28日 11:55作者:黄页编辑:黄页 分享 DuckChat是一款安全的私有聊天软件,基于PHP环境,可运行在Docker. ...

  6. 通过U盘给笔记本或台式机安装Linux系统(Ubuntu16.04)超级简单的安装步骤,十分钟就能搞定哟

    一.先准备一个启动盘 这一步骤是老赵为我准备的小U盘,我也不知道他咋弄的,嘿嘿???,以后我也可以帮别人安装Linux了,真的好简单哟?,他演示一遍后我就学会了??~~~ 二.安装步骤 1. 必须先将 ...

  7. 【Linux + Makefile】十分钟教你学会Makefile的FORCE

    相信大家在使用Linux环境编程的时候,一定接触过Makefile这个玩意.Makefile在搭建自定义的编译环境,尤其是自动化编译.多功能一键编译等功能上,还是发挥了很大的作用.如果接触过Linux ...

  8. 教你十分钟掌握linux文件系统管理

    在第一天装系统的时候,我们已经知道了mount,即挂载的概念.装机时自己配置分区的小伙伴都知道,CentOS7的文件系统为xfs,CentOS6则是ext4,更早的CentOS5则是ext3.老师告诉 ...

  9. linux pandas教程_十分钟入门 Pandas

    # 十分钟入门 Pandas 本节是帮助 Pandas 新手快速上手的简介.烹饪指南里介绍了更多实用案例. 本节以下列方式导入 Pandas 与 NumPy: In [1]: import numpy ...

最新文章

  1. 设计模式之抽象工厂模式(Abstract Factory)摘录
  2. 洛谷-P1896 [SCOI2005]互不侵犯
  3. 编java用jdk还是editplus_怎样运用EditPlus进行配置Java编译环境
  4. Android中用 adb 命令操作数据库
  5. 关于Linux的基础中的基础和一些基础小命令
  6. logback 配置文件编写
  7. 全局变量-global关键字修改全局变量
  8. elasticsearch 查看索引_ElasticSearch 索引基本操作
  9. android 摇一摇动画效果,android 微信摇一摇动画效果
  10. html5画折线图,canvas绘制折线图(仿echarts)
  11. 归并排序的java语言_归并排序 java语言
  12. 海思hi3518 移植live555 实现H264的RTSP播放
  13. c++输出字符串结尾部分中文乱码问题
  14. 2016——注定不平凡的一年
  15. android 二选一的按钮,选择框 RadioButton/Check - Android 入门教程
  16. 【附源码】计算机毕业设计java学生网上请假系统设计与实现
  17. 1. Resnet网络详解
  18. 面试常问VueX是什么?
  19. WMS和WMTS的区别
  20. MSSQL 服务器主体 无法在当前安全上下文下访问数据库,错误:916

热门文章

  1. mysql show的用法
  2. PHP如何实现定时任务,PHP定时任务方法,最佳解决方案,PHP自动任务处理 自动备份
  3. 【报告分享】疫情期间抖音、快手带货趋势分析报告.pdf(附下载链接)
  4. Jupyter notebook增加新的kernel
  5. 机器学习与深度学习神器!凸优化(Convex Optimization)学习必备
  6. seo爬虫工具 php,爬虫工具有哪些(爬虫网页分析工具)
  7. 软件需求和结构_软件工程复习 3640组考题
  8. python枚举类型_Python 的枚举类型
  9. python excel库 linux_python 在linux下读取 .xlsx
  10. 关于TikTok的变现思考和三种玩法