系统计划任务

大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了.

计划任务分为一次性计划任务和周期性计划任务.

  • 一次性计划任务

    • 每晚11点30分开启网站服务.
  • 周期性计划任务
    • 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz

顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现.

如果你的Linux没有此命令可以使用yum install at -y来安装.

[root@qdlinux ~]# at 23:30
at> systemctl restart httpd
at> <EOT>
at > 此处同时按下Ctrl + D组合键来结束编写计划任务 //查看已经设置好但还未执行的计划任务
[root@qdlinux ~]# at -l
1 Fri Aug 17 23:30:00 2018 a root //可以使用atrm任务序号删除
[root@qdlinux ~]# atrm 1
[root@qdlinux ~]# at -l

如果希望Linux能够周期性地、有规律地执行某些具体的任务,那么可以使用crond服务再合适不过了.

如果你的Linux没有此命令可以使用yum install cronie -y来安装.

选项 解释
crontab -e 创建、编辑计划任务
crontab -l 查看当前的计划任务
crontab -r 删除某条计划任务
crontab -u 编辑其他人的计划任务

注意:此命令使用编辑的是/var/spool/cron/username文件.

此命令记忆口诀 "分、时、日、月、星期 命令" 请牢记!!!

字段 说明
取值0-59的整数
取值0-23的任意整数
取值1-31的任意整数
取值1-12的任意整数
星期 取值为0-7,其中0与7均为星期日
命令 要执行的命令或程序脚本
//每周一、三、五的凌晨3点30分打包/var/www/html目录
[root@qdlinux ~]# crontab -e
crontab: installing new crontab
[root@qdlinux ~]# crontab -l
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
30 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /var/www/html

记忆练习示例

00 02 * * * ls  //每天的凌晨2点执行ls
00 02 1 * * ls //每月1号凌晨2点执行ls
00 02 14 2 * ls //每年的2月的14号凌晨2点执行ls
00 02 * * 7 ls //每周日凌晨2点执行ls
00 02 * 6 5 ls //每年6月份周5的凌晨2点执行ls
00 02 14 * 7 ls //每月周日或14号凌晨2点执行
00 02 14 2 7 ls //每年2月14号或周日凌晨2点执行
* 02 * * * ls //每天凌晨2点的每分钟执行
* * 14 2 * ls //每年2月份14号每分钟执行
* * * * * ls //每分钟执行
*/5 * * * * ls //每5分钟执行
00 02 * 1,5,8 * ls //每年1,5,8月的每天凌晨2点执行
00 02 1-8 * * ls //每月的1-8号凌晨2点执行 //这里需要注意的是分字段必须要求数值,不能为空或者*号
//日和星期字段不能同时使用,否则会发生冲突 //每周一到周五凌晨1点清空/tmp目录内的所有文件
[root@qdlinux ~]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@qdlinux ~]# crontab -l
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*

Linux基础学习-crond系统计划任务的更多相关文章

  1. Linux基础学习系列目录导航

    Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...

  2. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  3. linux基础学习路线&review

    linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...

  4. Linux 基础学习1

    目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...

  5. Linux 基础学习2

    目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...

  6. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  7. Linux基础学习(全)

    使用的Linux发行版本为Redhat 1.Linux(RedHat)基础学习-命令行使用入门 2.Linux(RedHat)基础学习-文件寻址与管理 3.Linux(RadHat)基础学习-vim编 ...

  8. Linux基础学习-使用iSCSI服务部署网络存储

    使用iSCSI服务部署网络存储 iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源.下面介绍如何在Linux上部署iSCSI服 ...

  9. (Linux基础学习)第四章:Linux系统中的日期和时间介绍和ntpdate命令

    第1节:日期和时间1.Linux的两种时钟:系统时钟:由Linux内核通过CPU的工作频率进行的硬件时钟:主板2.相关命令date 显示和设置系统时间hwclock,clock 显示硬件时钟-s,-- ...

随机推荐

  1. centos 创建 logrotate 进行日志分割

    这里就不赘述logrotate了,具体是什么,有什么作用,自行百度. 我们先说下,如何进行nginx的日志切割: 比如:日志目录为:/usr/local/nginx/logs/access.log按照 ...

  2. Leetcode:环形链表2

    题目 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 解答 这道题真的很巧妙,首先我们有了环形链表1这道题的铺垫,就能方便的判断有无环了,但是题目要求我们找到环形链表的 ...

  3. [Android基础]Android四大组件之BroadCast

    BroadCast的定义: 广播是一种订阅--通知 事件,广播接收者向Android系统 register (订阅广播),广播发送者向Adnroid系统 sendBroadCast(发送广播),然后A ...

  4. 【ZROI 537】贪心题 题解

    [ZROI 537]贪心题 题解 Link Solution 最大的一边直接放到一起贪心即可 着重讲小的一边 已知对于二分图匹配,其答案即为最大流 令时间集合为 \(T = {1,2,3,\dots, ...

  5. NetCore上传多文件

    .NetCore上传多文件的几种示例   本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理 ...

  6. Django使用网站图标

    默认情况下,浏览器访问一个网站的时候,同时还会向服务器请求“/favicon.ico”这个URL,目的是获取网站的图标. 若是没有配置的话,Django就会返回一个404错误,并且浏览器接收到这个40 ...

  7. SPI接口的ETH芯片(ENC28J60/W5500)

    一 ENC28J60:SPI接口.中断.复位.LED指示.可参看野火相应教程.简单的在单片机中实现网页服务器是参考AVRNET项目,复杂的是用LWIP协议栈.telnet用于用PC的TELNET可以远 ...

  8. oo第三单元总结

    JML梳理 1. JM语法一般结构 public instance //jml中操作数据,并不要求实现 public invariant //不变式 public constraint //约束 no ...

  9. 邮箱/邮件地址的正则表达式及分析(JavaScript,email,regex)

    简言 在做用户注册时,常会用到邮箱/邮件地址的正则表达式.本文列举了几种方案,大家可以根据自己的项目情况,选择最适合的方案. 方案1 (常用) 规则定义如下: 以大写字母[A-Z].小写字母[a-z] ...

  10. markdown-Macdown

    #标题 [页面锚点](#name)   =>   <a name="name"></a>文字 **加粗**(Command-B) *斜体*(Comma ...