linux(centOS7)的基本操作(四) 定時任務——crontab


概述

對於Java開發人員,定時任務並不陌生,無非是讓系統在特定時間執行特定的命令或程序。例如spring提供的@Scheduled注解、OpenSymphony提供的quartz框架,都可以實現定時任務。在操作系統這個層面,linux也提供了相應的解決方案——crontab命令。

 

crontab命令的格式

crontab [-e] [-l] [-r]

后面的三個可選項必須選擇一項,且只能選擇一項。

-e:編輯定時任務;

-l:以列表形式顯示當前所有的定時任務;

-r:刪除當前所有的定時任務。

其中,crontab -e會彈出vi編輯器,可以以兩種方式寫入定時任務:

1. cron表達式 + 命令

2. cron表達式 + shell腳本文件

這里的cron表達式跟https://www.cnblogs.com/dubhlinn/p/10740838.html一文提到的略有不同,最小單位為分鍾,且不用問號(?),只能手動去避免日期和星期的沖突。

 

直接編輯命令方式建立定時任務

使用步驟

1. 執行 crontab -e

2. 在彈出的vi編輯器中寫入:cron表達式、命令,中間以空格間隔

3. 保存退出

示例

例如,每天午夜23點將當前目錄下的內容追加到/home/dubhlinn/content.log文件中

0 23 * * * ls -l >> /home/dubhlinn/content.log

 

shell腳本保存命令方式建立定時任務

使用步驟

1. 創建shell腳本文件(.sh),在其中寫入命令

2. 對shell腳本文件賦予"執行"權限

3. 執行 crontab -e

4. 在彈出的編輯器中寫入:cron表達式、shell腳本文件的絕對路徑,中間以空格間隔

5. 保存退出

示例

例如每隔15分鍾,將當前日期時間追加到/home/dubhlinn/time.log文件中。

首先,在家目錄/home/dubhlinn下創建timer.sh文件,在其中寫入:date >> /home/dubhlinn/time.log。

然后,對剛創建的shell腳本文件,給所有者賦予執行權限:chmod u+x timer.sh。

最后,執行crontab -e,並在編輯器中寫入:*/15 * * * * /home/dubhlinn/timer.sh。

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM