当前位置: 首页 > news >正文

Linux指令——crontab

crontab指令的作用是周期性的自动执行文件。

目录

一.安装

二.使用

(一).编辑指令

第一步进入crontab编辑页面

 第二步输入crontab指令

(二).删除指令

三.拓展


比如我需要每天晚上7点执行一个文件,那么就可以使用crontab指令,使linux操作系统自动执行。

下面介绍crontab指令的用法:

一.安装

先检查是否安装

crontab -l
# 如果“no crontab for root”说明没有安装。

安装指令

yum -install -y vixie-cron
yum -install -y crontabs

二.使用

首先我们需要知道几个实用参数。

crontab -e       编辑crontab指令

crontab -l        查看当前crontab指令        

crontab -r        删除本用户crontab指令

(一).编辑指令

第一步进入crontab编辑页面

crontab -e

 虽然该页面看着别扭,但它其实就是vim编辑器,所以使用方式与vim编辑器一致

 第二步输入crontab指令

crontab指令的格式如下:

分钟  小时  日期  月份  星期  具体指令

参数范围:

分钟0 ~ 59
小时0 ~ 23
日期1 ~ 31
月份1 ~ 12
星期0 ~ 7 //0和7都是星期日

特殊参数:

参数符号参数含义参数实例
*全部时间

0 5 * 7 * clear

#在7月每一天5点整执行clear 

start/numstart开始每隔num时间执行

*/10 * * * * clear

#每隔10分钟执行clear

-范围时间内执行

* 5-6 * * * clear

#每天5点到6点执行clear

,指定时间执行

0 5,14,21 * * * clear

#每天5点14点21点整执行clear

举几个例子:

① 每月1号零点整删除data.txt文件

0 0 1 * * rm -f data.txt

②每隔90分钟执行ls指令

这个实现稍特殊,我们不能一行指令实现它,所以可以使用两个来合作实现。

90 * 2 = 180分钟,正好是3个小时。

一个从0点开始,每隔3小时执行。//0、3:00、6:00...

一个从1:30开始,每隔3小时执行。//1:30、4:30、7:30...

组合起来就是每隔90分钟执行。

0 0/3 * * * ls
30 1/3 * * * ls

(二).删除指令

crontab -r是直接删除该用户所有crontab指令。

如果想单独删除就使用crontab -e来具体编辑。

三.拓展

我们可以首先写一个shell文件,在写crontab指令时直接调用该指令,以防需实现的指令过多造成编辑和阅读困难。

比如我们要每天7点整执行一个hello.c文件。

可以编写一个hello.sh文件,里面执行./hello

 注意hello.sh需要赋予可执行权限。

在crontab指令中实现0 7 * * * ./hello.sh即可。

要注意,此时程序结果是在后台运行的。

如果还没想清楚,就用蛮力算法。——Ken Thompson 


如有错误,敬请斧正

相关文章:

  • 程序员的中秋
  • mysql数据库的安装教程
  • 新电脑的正确打开方式——(近万字图文并茂详细分步骤讲解)【包括个性锁屏,磁盘分区……】等你来解锁哦
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • 【毕业设计】基于单片机的手势检测识别系统 - arduino 物联网嵌入式
  • 【Node.js】深度解析常用核心模块-path模块
  • C语言指针操作(六)*返回指针值的函数
  • 10. Vue 常用的修饰符的作用详解?
  • 第五篇 python 基本语法(一)
  • 猿创征文| JAVA Web的环境部署
  • Python基础(一) | Python的基本语法
  • 110道Java初级面试题及答案(最新Java初级面试题大汇总)
  • 简易版实现vue1.0
  • 6大面试技能树:JAVA基础+JVM+算法+数据库+计算机网络+操作系统,时刻为面试做准备!!
  • sobel算子边缘提取及程序优化(C语言)
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • css选择器
  • Git的一些常用操作
  • HTTP请求重发
  • Java 多线程编程之:notify 和 wait 用法
  • JavaScript的使用你知道几种?(上)
  • React Native移动开发实战-3-实现页面间的数据传递
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • 工作手记之html2canvas使用概述
  • 技术发展面试
  • 前端_面试
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​学习一下,什么是预包装食品?​
  • # 安徽锐锋科技IDMS系统简介
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (zt)最盛行的警世狂言(爆笑)
  • (二)windows配置JDK环境
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .Net IE10 _doPostBack 未定义
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 材料检测系统崩溃分析
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET成年了,然后呢?
  • @RequestBody的使用
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [Android]使用Git将项目提交到GitHub
  • [C/C++]关于C++11中的std::move和std::forward
  • [CLickhouse] 学习小计