crontab history查看命令的执行时间

crontab

crontab学习网站(19. crontab 定时任务 — Linux Tools Quick Tutorial)

例子

今天实际工作里用到的(已经进行了防信息泄露处理

比如我现在希望每周三上午10:00之行一个php脚本

--gpt生成

00 10 * * 3 cd /home/user/project/risk && /usr/local/bin/php sendCheckVersionInfoRiskTagEmail.php > sendCheckVersionInfoRiskTagEmail.log 2>&1

  1. 00 10 * * 3: 这是 cron 作业的时间表达式,指定了作业运行的时间。这表示在每周的周三的上午 10:00 执行作业。

  2. cd /home/user/project/risk: 这一行是改变工作目录到指定的路径。在这里,它将工作目录切换到 /home/user/project/risk

  3. &&: 这是逻辑运算符 "AND",表示只有当前一个命令成功执行后才执行下一个命令。

  4. /usr/local/bin/php sendCheckVersionInfoRiskTagEmail.php: 这是要执行的命令,它会运行一个 PHP 脚本文件 sendCheckVersionInfoRiskTagEmail.php。在这里,它使用了 PHP 解释器 /usr/local/bin/php 来执行这个脚本。

  5. > sendCheckVersionInfoRiskTagEmail.log 2>&1: 这部分是输出重定向的语法,将命令的标准输出重定向到 sendCheckVersionInfoRiskTagEmail.log 文件中,并将标准错误输出(2)重定向到标准输出(1),这样可以将标准错误输出也写入到同一个日志文件中。

因此,这段代码的作用是在每周三的上午 10:00,切换工作目录到 /home/user/project/risk 目录,并执行一个 PHP 脚本 sendCheckVersionInfoRiskTagEmail.php,将执行过程的输出记录到日志文件中。

crontab详解
概述

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

主要就是定时地执行某个脚本,而不需要耗费大量人力重复性执行

crontab命令格式
  • crontab [-u user] file crontab [-u user] [ -e | -l | -r ]

命令参数

注:其实实际工作时,都是公用的crontab文件,基本上用crontab -e就够了,修改crontab文件内容

  • -u user:用来设定某个用户的crontab服务;

  • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

  • -i:在删除用户的crontab文件时给确认提示。

crontab实际调用脚本的命令格式

分 时 日 月 星期 要运行的命令

(比如最上方举的例子:00 10 * * 3: 这是 cron 作业的时间表达式,指定了作业运行的时间。这表示在每周的周三的上午 10:00 执行作业。)

  • 第1列分钟0~59

  • 第2列小时0~23(0表示子夜)

  • 第3列日1~31

  • 第4列月1~12

  • 第5列星期0~7(0和7表示星期天)

  • 第6列要运行的命令

实例

实例1:每1分钟执行一次myCommand

*****myCommand

实例2:每小时的第3和第15分钟执行

3,15****myCommand

实例3:在上午8点到11点的第3和第15分钟执行

3,158-11***myCommand

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,158-11*/2**myCommand

实例5:每周一上午8点到11点的第3和第15分钟执行

3,158-11**1myCommand

实例6:每晚的21:30重启smb

3021***/etc/init.d/smbrestart

实例7:每月1、10、22日的4 : 45重启smb

4541,10,22**/etc/init.d/smbrestart

实例8:每周六、周日的1 : 10重启smb

101**6,0/etc/init.d/smbrestart

实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

0,3018-23***/etc/init.d/smbrestart

实例10:每星期六的晚上11 : 00 pm重启smb

023**6/etc/init.d/smbrestart

实例11:每一小时重启smb

**/1***/etc/init.d/smbrestart

实例12:晚上11点到早上7点之间,每隔一小时重启smb

023-7***/etc/init.d/smbrestart

注意事项
  • 新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。

  • 当crontab失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。-

  • 千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。

  • 注意时区,在终端中使用date命令查看时区,如果时区不一致的话,会导致脚本运行的时间和你预想的不一致

  • 在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+%Y%m%d’。

history查看命令的执行时间

这个指的是,我们使用history本来只能看到命令序号和具体用过什么命令,而不知道这个命令发生的时间,在进行一些溯源时比较麻烦

之所以想去了解这个东西,是因为今天mt说因为我早上写需求的时候没pull最新的代码,加上我自己的然后就提交了,导致他的代码被覆盖

为了确定我早上是否进行了拉取最新代码的操作,我就去查了一下history怎么显示出命令发生的时间。

->

mac设置方式 :

echo'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc

source ~/.bashrc

如果使用了zsh环境的终端(比如我):

使用history -i

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/400251.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python开源项目周排行 2024年第4周

#2024年第4周2024年2月18日1Awesome-LLM一个精选的大型语言模型 (LLM) 资源列表,涵盖了以下内容: LLM 模型介绍 论文和代码 部署工具 应用场景 教程和示例 Awesome-LLM 的目标是帮助人们了解和使用 LLM 技术,并为 LLM 开发人员提供一个资源中…

Git详解及 github与gitlab使用

目录 1.1 关于版本控制 1.1.1 本地版本控制 1.1.2 集中化的版本控制系统 1.1.3 分布式版本控制系统 1.2 Git简介 1.2.1 Git历史 1.3 安装git 1.3.1 环境说明 1.3.2 Yum安装Git 1.3.3 编译安装 1.4 初次运行 Git 前的配置 1.4.1 配置git 1.4.2 获取帮助 1.5 获取 G…

接口请求重试的8种方法

转载文章:https://blog.csdn.net/qq_34162294/article/details/134131439 文章目录 1.前言2.几种方法 2.1循环重试2.2 使用Spring Retry库 2.2.1 添加 Maven 依赖2.2.2 添加 EnableRetry 注解启用重试功能2.2.3 在需要重试的方法上添加 Retryable 注解2.2.4. 还可以…

week04day02(爬虫02)

<span>: 通常用于对文本的一部分进行样式设置或脚本操作。<a>: 定义超链接&#xff0c;用于创建链接到其他页面或资源的文本。<img>: 用于插入图像。<br>: 用于插入换行。 姓名&#xff1a;<input type"text" value"lisi">…

如何更换过期的SSL证书?

SSL证书是保护网站安全的重要组成部分&#xff0c;它能在客户端和服务器之间建立数据传输加密通道&#xff0c;防止数据在传输过程中被泄露、劫持和窃听。但SSL证书也有有效期限&#xff0c;当SSL证书到期时&#xff0c;您需要及时更换它&#xff0c;以确保网站的安全性和可信度…

多端开发围炉夜话

文章目录 一、多端开发 一、多端开发 uni-app 官网 UNI-APP中的UI框架&#xff1a;介绍常用的UI框架及其特点 uView UIVant WeappColor UIMint UI uniapp嵌入android原生开发的功能 uniapp使用安卓原生sdk uni-app中的uni.requireNativePlugin Qt for iOS Qt for Android

SpringBoot+MybatisPlus+Mysql实现批量插入万级数据多种方式与耗时对比

场景 若依前后端分离版本地搭建开发环境并运行项目的教程&#xff1a; 若依前后端分离版手把手教你本地搭建环境并运行项目_本地运行若依前后端分离-CSDN博客 若依前后端分离版如何集成的mybatis以及修改集成mybatisplus实现Mybatis增强&#xff1a; https://blog.csdn.net…

一命通关动态规划dp

前言 这篇文章详细概括了动态规划的所有题型&#xff0c;以及各个题型的解决公式方法。如果看完这篇动态规划还是不会做题&#xff0c;我来给你补&#xff0c;我爱说点实话。 动态规划 何为动态规划&#xff1f; 动态规划&#xff0c;有一点暴力求解的感觉。用最通俗的语言来…

Shell基础和变量使用

一、Shell概述 1、什么是shell Shell是指一种应用程序&#xff0c;这个应用程序提供了一个界面&#xff0c;用户通过这个界面访问操作系统内核的服务&#xff0c;在用户和内核之间充当翻译官的角色&#xff0c;是一个命令解释器。 Shell是一种编程语言&#xff0c;只是比较古…

【C++游戏开发-03】贪吃蛇

文章目录 前言一、工具准备1.1游戏开发框架1.2visual studio2022下载1.3easyX下载1.4图片素材 二、逻辑分析2.1数据结构2.2蛇的移动2.3吃食物2.4游戏失败 三、DEMO代码实现四、完整源代码总结 &#x1f431;‍&#x1f680;个人博客https://blog.csdn.net/qq_51000584?typeblo…

【hoare基础版】快速排序算法(1)

目录 交换排序 QuickSort快速排序 Hoare整体思路 图解分析 ​ Hoare版本代码 总代码 时间复杂度 交换排序 基本思想&#xff1a;所谓交换&#xff0c;就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置&#xff0c;交换排序的特点是&#xff1a;将键…

论文阅读:How Do Neural Networks See Depth in Single Images?

是由Technische Universiteit Delft(代尔夫特理工大学)发表于ICCV,2019。这篇文章的研究内容很有趣,没有关注如何提升深度网络的性能&#xff0c;而是关注单目深度估计的工作机理。 What they find&#xff1f; 所有的网络都忽略了物体的实际大小&#xff0c;而关注他们的垂直…

java调摄像头和人脸比对

我需要做一个功能&#xff0c;就是网站页面调用摄像头截图。现在由于要用java&#xff0c;就得研究用java怎么调用摄像头。顺带玩了一下人脸比对&#xff0c;资料有点少。 效果 采用javacv实现&#xff0c;先加Maven引用&#xff0c;后面把下载的包再独立引用不用Maven了 …

UI自动化测试篇 :webdriver+ant+jenkins自动化测试实践

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

OpenCV笔记2:鼠标事件实现绘制直线、矩阵、曲线

OpenCV 鼠标事件 创建窗口设置窗口大小鼠标事件监听 判断事件更新起始点和终点绘制线显示图片 打开背景图 """ 鼠标事件 down up move """ import cv2 import numpy as npWINNAME DRAWBOARD st_point (-1, -1) end_point (-1, -1)def draw…

【Unity】管道流动模拟Shader

【Unity】管道流动模拟Shader 抽象模拟管道介质流动的效果&#xff0c;使用顶点片元着色器。可以调整管线光泽&#xff0c;颜色&#xff0c;流动方向&#xff0c;透明度&#xff0c;流动体粗细&#xff0c;流动速度和横断面。 实现效果 Demo效果 Demo下载地址 管线光泽调整 …

proteus8.15图文安装教程

proteus8.15版本可以用STM32系列单片机来进行仿真设计&#xff0c;比7.8版本方便多了&#xff0c;有需要的朋友们可以在公众号后台回复 proteus8.15 获取软件包。 1、下载好软件包&#xff0c;解压如下&#xff0c;右键proteus8.15.sp1以管理员身份运行。 2、第一次安装&#x…

【蓝桥杯单片机入门记录】独立按键

目录 一、键盘、微动开关概述 二、按键工作原理 &#xff08;1&#xff09;按键构成 &#xff08;2&#xff09;&#xff08;蓝桥杯开发板&#xff09;独立按键电路图&#xff08;非实际&#xff0c;参考理解&#xff09; &#xff08;3&#xff09;独立按键工作原理 三、…

【J1939】一、概述,协议基础

文章目录 1. 背景2. 要点3. J1939帧细节3.1 协议数据单元(Protocol Data Unit,PDU)3.2 参数组编号(PGN)3.3 可疑参数编号(Suspect Parameter Number,SPN)参考1. 背景 J1939是一种用于商用车辆的通信协议,它定义了一套车辆电子控制单元之间进行数据通信的规范。J1939协议…

OpenAI 发布文生视频模型 Sora,普通人应该怎么做才能利益最大化?

原文链接&#xff1a; OpenAI 发布文生视频模型 Sora&#xff0c;普通人应该怎么做才能利益最大化&#xff1f; 自从 2022 年 11 月 30 日 ChatGPT 发布之后&#xff0c;每次 OpenAI 再发布新功能都跟过年一样&#xff0c;那叫一个热闹。 包括 GPT 4.0&#xff0c;GPT Store&…