crontab命令

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务

(1)、先来看一下/etc/crontab文件的内容:

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

SHELL=/bin/bash

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

MAILTO=root

HOME=/

# run-parts             ==>这里分别设置了每小时每天每星期每月定期执行的任务脚本分别存放在这些目录中

01 * * * * root run-parts /etc/cron.hourly

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly

注意:

启用周期性任务有一个前提条件,即对应的系统服务crond必须已经运行;

全局配置和系统默认配置中的内容一般不需要用户去修改,用户只需设置/var/spool/cron/目录下与本帐号同名的文件即可

(2)、管理cron计划任务

编辑计划任务:crontab  -e  [-u  用户名]

查看计划任务:crontab  -l  [-u  用户名]

删除计划任务:crontab  -r  [-u  用户名]

(root用户可以管理指定用户的计划任务;普通用户只能管理自己的计划任务)

(备注:用户只需执行“crontab -e”命令后会自动调用文本编辑器(默认为vi)并打开“/var/spool/cron/用户名”文件,无需手动指定文件位置)

(3)、crontab应用简单举例

1)、示例1:root用户

需求:  每天早上7:50自动开启sshd服务,22点50时关闭

每隔5天清空一次FTP服务器公共目录/var/ftp/pub

每周六的7:30时,重新启动httpd服务

每周一、三、五的17:30时,打包备份/etc/httpd目录

[root@localhost ~]# crontab -e

50 7 * * *  /sbin/service sshd start

50 22 * * *  /sbin/service sshd stop

0 * */5 * *  /bin/rm -rf /var/ftp/pub/*

30 7 * * 6  /sbin/service httpd restart

30 17 * * 1,3,5  /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd

2)、示例2:linuxidc用户

需求:每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件

[root@localhost ~]# crontab -e -u linuxidc

55 23 * * 7  /bin/cp /etc/passwd /home/linuxidc/pwd.txt

3)、示例3:

root用户查看自己的计划任务列表;查看并删除linuxidc用户设置的计划任务

[root@localhost root]# crontab -l

50 7 * * *  /sbin/service sshd start

50 22 * * *  /sbin/service sshd stop

0 * */5 * *  /bin/rm -rf /var/ftp/pub/*

30 7 * * 6  /sbin/service httpd restart

30 17 * * 1,3,5  /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd

[root@localhost root]# crontab -l -u linuxidc

55 23 * * 7  /bin/cp /etc/passwd /home/linuxidc/pwd.txt

[root@localhost root]# crontab -r -u linuxidc

[root@localhost root]# crontab -l -u linuxidc

no crontab for linuxidc

[root@localhost root]#

从上面这3个例子简单总结一下crontab任务的配置格式:

(1)  时间周期设置:                            任务内容设置:

50       3      2       1     *       run_command

分钟       小时     日期      月份    星期      命令

字段

说明

分钟

取值为从0到59之间的任意整数

小时

取值为从0到23之间的任意整数

日期

取值为从1到31之间的任意整数

月份

取值为从1到12之间的任意整数

星期

取值为从0到7之间的任意整数,0或7代表星期日

命令

要执行的命令或程序脚本

前5个字段指定任务重复执行的时间规律,第6个字段用于指定具体的任务内容

crontab任务配置记录中,所设置的命令在“分钟+小时+日期+月份+星期”都满足的条件下才会运行。

(2)、时间数值的特殊表示方法

*    表示该范围内的任意时间

,    表示间隔的多个不连续时间点

-    表示一个连续的时间范围

/    指定间隔的时间频率

应用示例:

0  17  *  *  1-5          周一到周五每天17:00

30  8  *  *  1,3,5        每周一、三、五的8点30分

0  8-18/2  *  *  *       8点到18点之间每隔2小时

0  *  */3  *  *            每隔3天

转载于:https://www.cnblogs.com/linux-s/p/11289627.html

Linux运维技术之详解任务计划(crontab命令)相关推荐

  1. linux运维面试题大厂,大厂Linux运维面试题详解

    大厂面试题: 网络基础类面试题 01.Linux运维经典面试题_网络基础-视频介绍 02.Linux运维经典面试题_网络基础-面试题1 03.Linux运维经典面试题_网络基础-面试题2 04.Lin ...

  2. 亲爱的,我是一条Linux运维技术学习路径呀。

    根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...

  3. 自动化运维工具——puppet详解(二)

    自动化运维工具--puppet详解(二) 目录 一.class 类 1)什么是类? 2)带有参数的类 3)类的继承 1.新增属性 2.新增原有值 3.修改原有值 4.整体调用父类,并重写部分值 二.模 ...

  4. 我所了解的Linux运维技术

    不知道你是因为那种缘故看到这篇文章的,我不是一个喜欢拐弯抹角的人,写这篇文章的目的很简单,就只是单纯的想要跟大家聊一聊linux,目的是想让想要学习或是了解linux的朋友们有个参考,进一步的去了解什 ...

  5. Linux自动化运维工具ansible详解

    文章目录 认识ansible ansible的组成 ansible的相关文件 ansible的使用 ansible的常用模块 1.copy模块 2.fetch模块 3.command模块 4.shel ...

  6. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

  7. 项目10.2-企业级自动化运维工具---puppet详解

    1.认识puppet 1.1 引入 puppet是什么,咱们先不用专业的名词解释它,咱们先描述一些工作场景,看明白这些工作场景,自然会知道puppet是什么. (1)场景一: 管理员想要在100台服务 ...

  8. 运维笔记-nginx详解

    目录 1.简介 2.正向代理与反向代理 3.nginx的安装部署(基于Centos-stream操作系统) 4.nginx配置文件详解 5.高效的Web服务器-nginx 5.1nginx服务器基本配 ...

  9. 一、Python3运维自动化运维——psutil 模块详解(超级详细)

    文章目录 一.psutil简介 二.安装psutil模块 三.使用psutil模块 1.获取CPU信息: 1.1使用psutil.cpu_times()方法 1.2psutil.cpu_count() ...

最新文章

  1. XShell 技巧分享
  2. 2.25-3.2 周记
  3. Python打印格式化与字符串
  4. P1297-[国家集训队]单选错位【期望概率】
  5. Java—servlet简单使用
  6. android java.rmi不存在_ANDROID_HOME'环境变量设置为不存在的路径Jenkins
  7. android service 样例(电话录音和获取系统当前时间)
  8. django中url 和 path 的区别
  9. java版的mrp模拟器_mrp模拟器(simulator)
  10. X射线辩材--CT原理
  11. iOS抓包工具Charles
  12. Pathon的安装过程
  13. tinker热修复gradle接入
  14. lazada数据分析采集软件,各国市场第一视角帮你分析!
  15. Unknown column 'JOIN.id' in 'order clause'和 Unknown column 'XXXX.id' in 'order clause'的解决办法
  16. 剪绳子I和剪绳子II
  17. m2e-wtp error: path/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF (No such file or directory)
  18. SPI的NSS硬件模式
  19. 网络调试助手-程序设计-PyQt5实战 (Python socket GUI)
  20. Python 一个抓取糗百的段子的小程序

热门文章

  1. 如何把PDF文件转换成HTML文件
  2. 【Pandas】- pandas入门
  3. linux i5 i7差别,电脑处理器i5和i7的区别,如何选择?
  4. 杀狗问题(帽子问题)
  5. 公钥密码(非对称加密)
  6. System32和SysWoW64的区别(转载)
  7. Window的DOS命令
  8. IE 浏览器中不能使remove删除节点的解决方法
  9. SCI、EI、IEEE和中文期刊在查询中有什么区别?
  10. Flask+BootStrap+SQLite+ECharts编写的教学问卷调查系统