Linux任務調度全攻略

Linux下的任務調度分為兩類,系統任務調度和用戶任務調度

系統任務調度:系統周期性所要執行的工作,比如寫緩存數據到硬盤、日志清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。/etc/crontab文件包括下面幾行:

用戶任務調度:用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計劃任務。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。下面是幾個特殊的文件介紹:

  • 文件:/etc/cron.deny ? ? ? ? ? ? ? ?該文件中所列用戶不允許使用crontab命令

  • 文件:/etc/cron.allow ? ? ? ? ? ? ? ?該文件中所列用戶允許使用crontab命令

  • 文件:/var/spool/cron/ ? ? ? ? ? ? ?所有用戶crontab文件存放的目錄,以用戶名命名

2、crontab文件

? ??? ??用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個字段代表一項設置,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

minute hour day month week command

其中:

  • minute: 表示分鐘,可以是從0到59之間的任何整數。

  • hour:表示小時,可以是從0到23之間的任何整數。

  • day:表示日期,可以是從1到31之間的任何整數。

  • month:表示月份,可以是從1到12之間的任何整數。

  • week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。

  • command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

在以上各個字段中,還可以使用以下特殊字符:

  • 星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執行該命令操作。

  • 逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”

  • 中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6”

  • 正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執行一次。

二、crond服務

安裝crontab:

yum install crontabs

服務操作說明:

systemctl start crond??#啟動服務
systemctl stop crond???#關閉服務
systemctl restart crond #重啟服務
systemctl reload crond?#重新載入配置

查看crontab服務狀態

systemctl status status

手動啟動crontab服務:

systemctl start crond

查看crontab服務是否已設置為開機啟動,執行命令:

ntsysv

加入開機自動啟動:

systemctl enable crond

創建一個新的crontab文件

在考慮向cron進程提交一個crontab文件之前,首先要做的一件事情就是設置環境變量EDITOR。cron進程根據它來確定使用哪個編輯器編輯crontab文件。9 9 %的UNIX和LINUX用戶都使用vi,如果你也是這樣,那么你就編輯profile文件,在其中加入這樣一行:

EDITOR=vi; export EDITOR

然后保存并退出。不妨創建一個名為<user> cron的文件,其中<user>是用戶名,例如, davecron。在該文件中加入如下的內容。

# (put your own initials here)echo the date to the console every# 15minutes between 6pm and 6am0,15,30,45 18-06 * * * /bin/echo 'date' > /dev/console

保存并退出。確信前面5個域用空格分隔。

? ??? ??在上面的例子中,系統將每隔1 5分鐘向控制臺輸出一次當前時間。如果系統崩潰或掛起,從最后所顯示的時間就可以一眼看出系統是什么時間停止工作的。在有些系統中,用tty1來表示控制臺,可以根據實際情況對上面的例子進行相應的修改。為了提交你剛剛創建的crontab文件,可以把這個新創建的文件作為cron命令的參數:

$ crontab davecron

現在該文件已經提交給cron進程,它將每隔1 5分鐘運行一次。同時,新創建文件的一個副本已經被放在/var/spool/cron目錄中,文件名就是用戶名(即dave)。

2.列出crontab文件

為了列出crontab文件,可以用:

$ crontab -l0,15,30,45,18-06 * * * /bin/echo `date` > dev/tty1

你將會看到和上面類似的內容。可以使用這種方法在$ H O M E目錄中對crontab文件做一備份:

$ crontab -l > $HOME/mycron

這樣,一旦不小心誤刪了crontab文件,可以用上一節所講述的方法迅速恢復。

編輯crontab文件

如果希望添加、刪除或編輯crontab文件中的條目,而E D I TO R環境變量又設置為v i,那么就可以用v i來編輯crontab文件,相應的命令為:

$ crontab -e

可以像使用v i編輯其他任何文件那樣修改crontab文件并退出。如果修改了某些條目或添加了新的條目,那么在保存該文件時, c r o n會對其進行必要的完整性檢查。如果其中的某個域出現了超出允許范圍的值,它會提示你。我們在編輯crontab文件時,沒準會加入新的條目。例如,加入下面的一條:

# DT:delete core files,at 3.30am on 1,7,14,21,26,26 days of each month30 3 1,7,14,21,26 * * /bin/find -name "core' -exec rm {} \;

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

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

相關文章

回溯算法通關秘籍:像打怪一樣刷題

&#x1f680; 回溯算法通關秘籍&#xff1a;像打怪一樣刷題&#xff01; 各位同學&#xff0c;今天咱們聊聊 回溯算法&#xff08;Backtracking&#xff09;。它聽起來玄乎&#xff0c;但其實就是 “暴力搜索 剪枝” 的優雅版。 打個比方&#xff1a;回溯就是在迷宮里探險&am…

嵌入式Linux常用命令

&#x1f4df; 核心文件與目錄操作pwd-> 功能: 打印當前工作目錄的絕對路徑。-> 示例: pwd -> 輸出 /home/user/projectls [選項] [目錄]-> 功能: 列出目錄內容。-> 常用選項:-l: 長格式顯示&#xff08;詳細信息&#xff09;-a: 顯示所有文件&#xff08;包括隱…

深入理解 Linux 內核進程管理

在 Linux 系統中&#xff0c;進程是資源分配和調度的基本單位&#xff0c;內核對進程的高效管理直接決定了系統的性能與穩定性。本文將從進程描述符的結構入手&#xff0c;逐步剖析進程的創建、線程實現與進程終結的完整生命周期&#xff0c;帶您深入理解 Linux 內核的進程管理…

ACP(三):讓大模型能夠回答私域知識問題

讓大模型能夠回答私域知識問題 未經過特定訓練答疑機器人&#xff0c;是無法準確回答“我們公司項目管理用什么工具”這類內部問題。根本原因在于&#xff0c;大模型的知識來源于其訓練數據&#xff0c;這些數據通常是公開的互聯網信息&#xff0c;不包含任何特定公司的內部文檔…

使用Xterminal連接Linux服務器

使用Xterminal連接Linux服務器&#xff08;VMware虛擬機&#xff09;的步驟如下&#xff0c;前提是虛擬機已獲取IP&#xff08;如 192.168.31.105&#xff09;且網絡互通&#xff1a; 一、準備工作&#xff08;服務器端確認&#xff09;確保SSH服務已安裝并啟動 Linux服務器需要…

ChatBot、Copilot、Agent啥區別

以下內容為AI生成ChatBot&#xff08;聊天機器人&#xff09;、Copilot&#xff08;副駕駛&#xff09;和Agent&#xff08;智能體/代理&#xff09;是AI應用中常見的三種形態&#xff0c;它們在人機交互、自動化程度和任務處理能力上有著顯著的區別。特征維度ChatBot (聊天機器…

2025 年大語言模型架構演進:DeepSeek V3、OLMo 2、Gemma 3 與 Mistral 3.1 核心技術剖析

編者按&#xff1a; 在 Transformer 架構誕生八年之際&#xff0c;我們是否真的見證了根本性的突破&#xff0c;還是只是在原有設計上不斷打磨&#xff1f;今天我們為大家帶來的這篇文章&#xff0c;作者的核心觀點是&#xff1a;盡管大語言模型在技術細節上持續優化&#xff0…

基于Matlab GUI的心電信號QRS波群檢測與心率分析系統

心電信號&#xff08;Electrocardiogram, ECG&#xff09;是臨床診斷心臟疾病的重要依據&#xff0c;其中 QRS 波群的準確檢測對于心率分析、心律失常診斷及自動化心電分析系統具有核心意義。本文設計并實現了一套基于 MATLAB GUI 的心電信號處理與分析系統&#xff0c;集成了數…

1臺SolidWorks服務器能帶8-10人并發使用

在工業設計和機械工程領域&#xff0c;SolidWorks作為主流的三維CAD軟件&#xff0c;其服務器部署方案直接影響企業協同效率。通過云飛云共享云桌面技術實現多人并發使用SolidWorks時&#xff0c;實際承載量取決于硬件配置、網絡環境、軟件優化等多維度因素的綜合作用。根據專業…

String、StringBuilder和StringBuffer的區別

目錄一. String&#xff1a;不可變的字符串二.StringBuilder&#xff1a;可變字符串三.StringBuffer&#xff1a;線程安全的可變字符串四.總結在 Java 開發中&#xff0c;字符串處理是日常編碼中最頻繁的操作之一。String、StringBuilder 和 StringBuffer 這三個類雖然都用于操…

Power Automate List Rows使用Fetchxml查詢的一個bug

看一段FetchXML, 這段查詢在XRMtoolbox中的fech test工具里執行完全ok<fetch version"1.0" mapping"logical" distinct"true" no-lock"false"> <entity name"new_projectchange"> <link-entity name"sy…

Letta(MemGPT)有狀態AI代理的開源框架

1. 項目概述Letta&#xff08;前身為 MemGPT&#xff09;是一個用于構建有狀態AI代理的開源框架&#xff0c;專注于提供長期記憶和高級推理能力。該項目是MemGPT研究論文的實現&#xff0c;引入了"LLM操作系統"的概念用于內存管理。核心特點有狀態代理&#xff1a;具…

除了ollama還有哪些模型部署方式?多樣化模型部署方式

在人工智能的浪潮中&#xff0c;模型部署是釋放其強大能力的關鍵一環。大家都知道ollama&#xff0c;它在模型部署領域有一定知名度&#xff0c;操作相對簡單&#xff0c;受到不少人的青睞。但其實&#xff0c;模型部署的世界豐富多樣&#xff0c;今天要給大家介紹一款工具&…

Linux系統學習之進階命令匯總

文章目錄一、系統信息1.1 查看系統信息&#xff1a;uname1.2 查看主機名&#xff1a;hostname1.3 查看cpu信息&#xff1a;1.4 當前已加載的內核模塊: lsmod1.5 查看磁盤空間使用情況: df1.6 管理磁盤分區: fdisk1.7 查看目錄或文件磁盤使用情況: du1.8 查看I/O使用情況: iosta…

算法面試(2)------休眠函數sleep_for和sleep_until

操作系統&#xff1a;ubuntu22.04 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 這兩個函數都定義在 頭文件中&#xff0c;屬于 std::this_thread 命名空間&#xff0c;用于讓當前線程暫停執行一段時間。函數功能sleep_for(rel_time)讓當前線程休眠一段相對時間&…

貪心算法應用:5G網絡切片問題詳解

Java中的貪心算法應用&#xff1a;5G網絡切片問題詳解 1. 5G網絡切片問題概述 5G網絡切片是將物理網絡劃分為多個虛擬網絡的技術&#xff0c;每個切片可以滿足不同業務需求&#xff08;如低延遲、高帶寬等&#xff09;。網絡切片資源分配問題可以抽象為一個典型的優化問題&…

Android WorkManager的概念和使用

1. WorkManager基礎與核心概念 1.1 WorkManager概述 WorkManager是Android Jetpack架構組件庫的核心成員&#xff0c;專為管理可靠的后臺任務而設計。它提供了一套統一的API&#xff0c;用于調度需保障執行的延遲型異步任務&#xff08;如數據同步、日志上傳&#xff09;&…

容器使用卷

1.創建一個卷并讓容器掛載該卷1.創建一個卷[roothost1 ~]# docker volume create test-vol test-vol2.列出本地 Docker 主機上的卷[roothost1 ~]# docker volume ls DRIVER VOLUME NAME local test-vol3.查看該卷的詳細信息[roothost1 ~]# docker volume inspect test-v…

高數基礎知識(下)②

文章目錄七、微分方程7.3 高階線性微分方程7.3.1 線性微分方程的解的結構7.3.2 常系數齊次線性微分方程7.3.3 常系數非齊次線性微分方程八、多元函數微分學8.1 偏導數8.2 全微分8.3 基本定理8.4 復合函數微分法8.5 隱函數微分法8.6 多元函數的極值8.6.1 無條件極值8.6.2 條件極…

從0°到180°,STM32玩轉MG996R舵機

1.MG996R舵機的性能參數參數數值產品型號MG995/MG996R產品重量55 g工作扭矩13 kgcm反應速度53-62 R/M使用溫度-30C ~ 55C死區設置4 微秒插頭類型JR、FUTABA 通用轉動角度180&#xff08;左90&#xff0c;右90&#xff09;舵機類型數碼舵機使用電壓3.0 - 7.2 V工作電流100 mA結構…