Linux基础学习-crond系统计划任务
系统计划任务
大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助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系统计划任务的更多相关文章
- Linux基础学习系列目录导航
Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- linux基础学习路线&review
linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...
- Linux 基础学习1
目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...
- Linux 基础学习2
目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...
- Linux基础学习(1)--Linux系统简介
第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...
- Linux基础学习(全)
使用的Linux发行版本为Redhat 1.Linux(RedHat)基础学习-命令行使用入门 2.Linux(RedHat)基础学习-文件寻址与管理 3.Linux(RadHat)基础学习-vim编 ...
- Linux基础学习-使用iSCSI服务部署网络存储
使用iSCSI服务部署网络存储 iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源.下面介绍如何在Linux上部署iSCSI服 ...
- (Linux基础学习)第四章:Linux系统中的日期和时间介绍和ntpdate命令
第1节:日期和时间1.Linux的两种时钟:系统时钟:由Linux内核通过CPU的工作频率进行的硬件时钟:主板2.相关命令date 显示和设置系统时间hwclock,clock 显示硬件时钟-s,-- ...
随机推荐
- 第八届蓝桥杯大赛个人赛决赛(软件类)真题C++
哥德巴赫分解 哥德巴赫猜想认为:不小于4的偶数都可以表示为两个素数的和. 你不需要去证明这个定理,但可以通过计算机对有限数量的偶数进行分解,验证是否可行. 实际上,一般一个偶数会有多种不同的分解方案, ...
- 寒假作业第二组E题题解
注意看题,注意看题,注意看题.重要的事情三遍感觉都不够.不怕大家笑话,这道题RuntimeError 9次,我一直以为是哪里越界了,结果最后发现的时候,真是无语了,题目里说了,所有的integer都不 ...
- Nginx中的Rewrite的重定向配置与实践
阅读目录 一:理解地址重写 与 地址转发的含义. 二:理解 Rewrite指令 使用 三:理解if指令 四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能, ...
- Sql server 查询指定时间区间工作日数、休息日数等日期操作
1.查询指定时间区间的工作日 这个主要难点是法定节假日,国家的法定节假日每年都不一样,还涉及到调休,所以我们设计一个假日表.主要字段有年份,类型(是否调休),假期日期.如下: CREATE TABLE ...
- MiniDao分页的坑
//TODO 此处切记不要传(page-1)*rows,MiniDAO底层已经做了此运算,.sql文件中也无需写limit,会自动加上List<BcProjectSampleBackEntity ...
- PHPStorm2017.1.3永久激活方法之本地破解激活
是时候升级你的phpstorm了,咱们马上行动! 下载 1.phpstorm https://www.jetbrains.com/phpstorm/download/ 2.破解包 破解补丁无需使用注册 ...
- 2、HTTP状态码
HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应 ...
- ES6学习(1)
let 和 const 命令 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.for循环的计数器,就很合适使用let命令. 下面的代码 ...
- 深入理解Java虚拟机--个人总结
JVM内存区域 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主要划分为:方法区. ...
- Jenkins系列——使用SonarQube进行代码质量检查
1.目标 之前已经写过一篇关于Jenkins和SonarQube的一篇博客<jenkins集成sonar>,本文在参考前文的基础上,做了详细的补充. 使用SonarQube进行代码质量检查 ...