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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696494.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696494.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696494.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云SSL免費證書到期自動申請部署程序

阿里云的免費證書只有3個月的有效期,不注意就過期了,還要手動申請然后部署,很是麻煩,于是寫了這個小工具。上班期間抽空寫的,沒有仔細測試,可能存在一些問題,大家可以自己clone代碼改改&#xf…

【大模型 數據增強】LLMAAA:使用 LLMs 作為數據標注器

【大模型 數據增強】LLMAAA:使用 LLMs 作為數據標注器 提出背景算法步驟1. LLM作為活躍標注者(LLMAAA)2. k-NN示例檢索與標簽表述化3. 活躍學習策略4. 自動重權技術 LLMAAA 框架1. LLM Annotator2. Active Acquisition3. Robust Training 總結…

SkyWalking之APM無侵入可觀測原理分析

一、 簡介(為什么需要用到可觀測能力) 隨著微服務的開發模式的興起,早期的單體架構系統已拆分為很多的子系統,各個子系統封裝為微服務,各服務間通過HTTP協議RESET API或者RPC協議進行調用。 在單體服務或者微服務較少的…

8:00面試,8:05就出來了 ,問的實在是....

從外包出來,沒想到竟然死在了另一家廠子 自從加入這家公司,每天都在加班,錢倒是給的不少,所以我也就忍了。沒想到12月一紙通知,所有人都不許加班,薪資直降30%,頓時有吃不起飯的趕腳。 好在有個…

AI推介-大語言模型LLMs論文速覽(arXiv方向):2024.02.05-2024.02.10

相關LLMs論文大多都是應用型文章,少部分是優化prompt/參數量級等等… 有一些應用文還是值得參考的,當工作面臨一個新的場景,可以學習下他人是如何結合LLMs與實際應用中的鏈接。 LLMs論文速覽:2024.02.05-2024.02.10: …

ESP8266智能家居(2)——8266發布數據到mqtt服務器

1.公共服務器 學習物聯網就離不開服務器,如果你資金充足的話,可以自己購買或者租用一個服務器。本次我選擇,使用免費的公共MQTT服務器。它的端口及Broker信息如下: 網址為: 免費的公共 MQTT 服務器 | EMQ (emqx.com)h…

LLMChain使用 | RouterChain的使用 - 用本地大模型搭建多Agents

單個本地大模型搭建參考博客 單個Chain:面對一個需求,我們需要創建一個llmchain,設置一個prompt模板,這個chain能夠接收一個用戶input,并輸出一個結果;多個Chain:考慮到同時面對多個需求&#x…

動態規劃背包問題

前言 動態規劃背包問題是一類經典的優化問題,涉及到選擇物品以最大化某個目標值(通常是價值或利潤),同時受到某種約束(如重量、體積或時間)。背包問題可以分為多種類型,例如0-1背包問題、完全背…

第三百六十回

文章目錄 1. 概念介紹2. 實現方法2.1 環繞效果2.2 立體效果 3. 示例代碼4. 內容總結 我們在上一章回中介紹了"自定義SlideImageSwitch組件"相關的內容,本章回中將介紹兩種陰影效果.閑話休提,讓我們一起Talk Flutter吧。 1. 概念介紹 我們在本…

設計模式-創建型模式-原型模式

原型模式(Prototype Pattern):使用原型實例指定創建對象的種類,并且通過克隆這些原型創建新的對象。原型模式是一種對象創建型模式。原型模式其實就是從一個對象再創建另外一個可定制的對象,而且不需知道任何創建的細節…

微信小程序開發學習筆記——2.8媒體組件image的src三種引入方式

>>跟著b站up主“咸蝦米_”學習微信小程序開發中,把學習記錄存到這方便后續查找。 課程連接: https://www.bilibili.com/video/BV19G4y1K74d?p11 image:https://developers.weixin.qq.com/miniprogram/dev/component/image.html 一…

如何在Python中執行Shell腳本?

Python執行Shell命令 1、背景概述2、Python集成Shell及數據交互 1、背景概述 Python作為一種強大的腳本語言,其易用性和靈活性使得它成為自動化任務的理想選擇。在Python中執行Shell腳本可以實現一些操作系統級的功能,使程序更加靈活、易理解和易維護 在…

Redis-內存管理

Redis是基于內存存儲的,非關系型,鍵值對數據庫。因此,對Redis來說,內存空間的管理至關重要。那Redis是如何內存管理的呢? 一、最大內存限制 Redis 提供了 maxmemory 參數允許用戶設置 Redis 可以使用的最大內存大小。…

js設計模式:依賴注入模式

作用: 在對象外部完成兩個對象的注入綁定等操作 這樣可以將代碼解耦,方便維護和擴展 vue中使用use注冊其他插件就是在外部創建依賴關系的 示例: class App{constructor(appName,appFun){this.appName appNamethis.appFun appFun}}class Phone{constructor(app) {this.nam…

Elastic Search:構建語義搜索體驗

當你逐步熟悉 Elastic 時,你將使用 Elasticsearch Relevance Engine? (ESRE),該引擎旨在為 AI 搜索應用程序提供支持。 借助 ESRE,你可以利用一套開發人員工具,包括 Elastic 的文本搜索、向量數據庫和我們用于語義搜索的專有轉換…

ngnix網站服務詳解

一 Nginx的簡介 1 Nginx: ①Nginx 是開源、高性能、高可靠的 Web 和反向代理服務器,而且支持熱部署,幾乎可以做到 7 * 24 小時不間斷運行,即使運行幾個月也不需要重新啟動,還能在不間斷服務的情況下對軟件版本進行熱…

2月22日作業,按鍵中斷LED燈控制

1.使用GPIO子系統&#xff0c;編寫LED驅動&#xff0c;應用程序測試 mychrdev.c #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #include <linux/io.h> #include <linux/of.h> …

微軟Azure OpenAI的 GPT 接口使用小結

直接使用OpenAI的 GPT服務&#xff0c;在國內環境使用上會一些相關問題&#xff0c;微軟提供了OpenAI的服務&#xff0c;基本上可以滿足的相關的需要。下面提供一些簡單的使用操作&#xff0c;來讓你快速使用到 GPT 的服務。 前提&#xff1a;注冊Azure的賬戶&#xff0c;并綁…

OpenCV中的normalize函數以及NORM_MINMAX、NORM_INF、NORM_L1、NORM_L2具體應用介紹

在OpenCV中&#xff0c;normalize函數用于將圖像或矩陣的值規范化到一個特定的范圍內。這在圖像處理中非常有用&#xff0c;比如在調整圖像的對比度、準備數據進行機器學習處理時。規范化可以提高不同圖像之間的可比性&#xff0c;或是為了滿足特定算法對數據范圍的要求。 nor…

數的反碼和補碼表示

2.反碼 反碼的表示方法是: 正數的反碼是其本身負數的反碼是在其原碼的基礎上,符號位不變&#xff0c;其余各個位取反 [1][000000011原[000000011反[-1][10000001]原[11111110]反 3.補碼 補碼的表示方法是: 正數的補碼就是其本身 負數的補碼是在其原碼的基礎上,符號位不變,其余各…