0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

linux定時任務(wù)的用法總結(jié)

馬哥Linux運(yùn)維 ? 來源:博客園sparkdev ? 2024-08-14 18:16 ? 次閱讀

習(xí)慣了使用windows的計(jì)劃任務(wù),使用linux中的crontab管理定時任務(wù)時很不適應(yīng)。

所以把基本的用法總結(jié)如下。

創(chuàng)建一個簡單的定時任務(wù)

每分鐘輸出一次當(dāng)前的時間,輸出到用戶家目錄下的 time.log 文件中。

$ crontab -e
* * * * * echo `date` >> /home/xxx/time.log

crontab 程序的路徑為 /usr/bin/crontab。

每個用戶的定時任務(wù)可以在 /var/spool/cron/crontabs/ 目錄下查詢到。

需要使用root權(quán)限才能進(jìn)入這個目錄。每個以用戶名命名的文件中記錄著該用戶的定時任務(wù)。

注意,不要使用 vi 直接編輯這些文件。

cron 運(yùn)行的每一項(xiàng)工作都會被紀(jì)錄到 /var/log/cron 這個登錄檔中,但是 Ubuntu 默認(rèn)關(guān)閉了cron 的 log。

打開的方式為:打開 rsyslog 服務(wù)的配置文件

$ sudo vim /etc/rsyslog.d/50-default.conf

將下面一行中前面的注釋符去掉

cron.*              /var/log/cron.log

重啟 rsyslog

$ sudo  service rsyslog  restart

現(xiàn)在就可以看到 /var/log/cron 文件了,查看該文件是解決定時任務(wù)出錯的重要途徑。

控制用戶運(yùn)行定時任務(wù)

如果不想讓某個用戶運(yùn)行定時任務(wù),直接把他的賬號寫入到/etc/cron.deny文件中即可。注意,一行一個賬號。

當(dāng)然你也可以使用/etc/cron.allow文件來顯式的指定可以運(yùn)行定時任務(wù)的用戶的賬號,并且/etc/cron.allow比/etc/cron.deny的優(yōu)先級要高。

但感覺有點(diǎn)亂,倒不如只使用其中的一個。

crontab 命令

-u :只有 root 才有權(quán)限執(zhí)行這個任務(wù),也就是幫其他使用者創(chuàng)建/移除 crontab 定時任務(wù)

-e :編輯 crontab 的內(nèi)容

-l :顯示 crontab 的內(nèi)容

-r :移除所有 crontab 的內(nèi)容,若僅要移除某一項(xiàng),請用 -e 編輯

時間格式

分鐘小時 日期 月份周 命令

數(shù)字范圍0-590-231-311-120-7 echo "hello" >> abc.log

特殊字符的含義

*(星號) 代表任何時刻都接受。

,(逗號) 代表分隔時段的意思。

-(減號) 代表一段時間范圍內(nèi)。

/n(斜線) 那個 n 代表數(shù)字,每隔 n 單位間隔。

Case1: 每年的五月一日 10:5 執(zhí)行一次

5 10 1 5 * command

Case2: 每天的三點(diǎn),六點(diǎn)各執(zhí)行一次

0 3,6 * * * command #注意這里使用了逗號

Case3: 每天的8:20, 9:20,10:20,11:20各執(zhí)行一次

20 8-11 * * * command #注意這里使用了減號

Case4: 每五分鐘執(zhí)行一次
*/5 * * * * command #注意這里使用了/n

Case5: 每周一十點(diǎn)執(zhí)行一次
* 10 * * 1 command

Case6: 每分鐘執(zhí)行一次

* * * * * command

Case7: 每小時執(zhí)行一次


0 * * * * command

Case8: 每天執(zhí)行一次


0 0 * * * command

Case9: 每月執(zhí)行一次


0 0 1 * * command

配置系統(tǒng)級別的定時任務(wù)

crontab -e 是用來設(shè)置用戶級別的定時任務(wù)的。如果要設(shè)置系統(tǒng)級別的定時任務(wù)該怎么辦呢?

答案是直接使用 root 權(quán)限編輯系統(tǒng)級別定時任務(wù)的配置文件:/etc/crontab。

比如直接用vim打開編輯:

wKgaoma8hC6AWmDxAABM_AijTcU560.png

鏈接:https://www.cnblogs.com/sparkdev/p/5862038.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11158

    瀏覽量

    208459
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3509

    瀏覽量

    88199
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    555

    瀏覽量

    24633
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    554

    瀏覽量

    29429

原文標(biāo)題:linux 定時任務(wù)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于crontab命令的Linux服務(wù)器定時任務(wù)執(zhí)行步驟

    Linux服務(wù)器定時任務(wù)
    發(fā)表于 03-04 16:36

    Linux系統(tǒng)定時任務(wù)Crond

    會定期(默認(rèn)每分鐘檢查一次)檢查系統(tǒng)中是否有要執(zhí)行的任務(wù)工作,如果有,便會根據(jù)其預(yù)先設(shè)定的定時任務(wù)規(guī)則自動執(zhí)行該定時任務(wù)工作,這個crond定時任務(wù)服務(wù)就相當(dāng)于我們平時早起使用的鬧鐘一
    發(fā)表于 07-05 06:22

    linux的循環(huán)定時任務(wù)

    linux循環(huán)定時任務(wù)
    發(fā)表于 05-20 14:59

    嵌入式linux是如何去實(shí)現(xiàn)定時任務(wù)

    嵌入式linux用倒計(jì)時是方式代替定時任務(wù)測試過程中,嵌入式linux ,是因?yàn)槭褂玫南到y(tǒng)默認(rèn)使用ash進(jìn)行編譯shell腳本,導(dǎo)致無法正常編譯。service crond status無法啟動
    發(fā)表于 11-05 06:04

    定時任務(wù)的發(fā)展史是怎么樣的

    定時任務(wù)是互聯(lián)網(wǎng)行業(yè)里最常用的服務(wù)之一,本文給大家介紹定時任務(wù)在我司的發(fā)展歷程。 linux系統(tǒng)中一般使用crontab命令來實(shí)現(xiàn),在Java世界里,使用最廣泛的就是quartz了。我司
    發(fā)表于 07-18 17:38 ?0次下載
    <b class='flag-5'>定時任務(wù)</b>的發(fā)展史是怎么樣的

    linux定時任務(wù)如何判斷文件差異?

    設(shè)計(jì)每10min執(zhí)行任務(wù)檢查/app/recode文件大小,該文件不會超過4MB,超過此大小則壓縮處理,僅保留最近的日志內(nèi)容。立馬著手檢查linux定時任務(wù)cron運(yùn)行情況。 2. 初步排查 執(zhí)
    的頭像 發(fā)表于 03-17 10:05 ?1372次閱讀

    Python定時任務(wù)的實(shí)現(xiàn)方式

    在日常工作中,我們常常會用到需要周期性執(zhí)行的任務(wù),一種方式是采用 Linux 系統(tǒng)自帶的 crond 結(jié)合命令行實(shí)現(xiàn)。另外一種方式是直接使用Python。接下來整理的是常見的Python定時任務(wù)
    的頭像 發(fā)表于 10-08 15:20 ?5522次閱讀

    嵌入式linux 用倒計(jì)時的方式代替定時任務(wù)

    嵌入式linux 用倒計(jì)時是方式代替定時任務(wù)測試過程中,嵌入式linux ,是因?yàn)槭褂玫南到y(tǒng)默認(rèn)使用ash進(jìn)行編譯shell腳本,導(dǎo)致無法正常編譯。service crond status 無法
    發(fā)表于 11-02 15:06 ?13次下載
    嵌入式<b class='flag-5'>linux</b>  用倒計(jì)時的方式代替<b class='flag-5'>定時任務(wù)</b>

    解析Golang定時任務(wù)庫gron設(shè)計(jì)和原理

    正巧,最近看到了 gron 這個開源項(xiàng)目,它是用 Golang 實(shí)現(xiàn)一個并發(fā)安全的定時任務(wù)庫。實(shí)現(xiàn)非常簡單精巧,代碼量也不多。今天我們就來一起結(jié)合源碼看一下,怎樣基于 Golang 的能力做出來一個【定時任務(wù)庫】。
    的頭像 發(fā)表于 12-15 13:57 ?1237次閱讀

    求一種SpringBoot定時任務(wù)動態(tài)管理通用解決方案

    SpringBoot的定時任務(wù)的加強(qiáng)工具,實(shí)現(xiàn)對SpringBoot原生的定時任務(wù)進(jìn)行動態(tài)管理,完全兼容原生@Scheduled注解,無需對原本的定時任務(wù)進(jìn)行修改
    的頭像 發(fā)表于 02-03 09:49 ?726次閱讀

    在Spring Boot中如何使用定時任務(wù)

    本文介紹在 Spring Boot 中如何使用定時任務(wù),使用非常簡單,就不做過多說明了。
    的頭像 發(fā)表于 04-12 10:56 ?915次閱讀

    如何動態(tài)添加修改刪除定時任務(wù)?

    如何動態(tài)添加修改刪除定時任務(wù)?那么我們一起看看具體怎么實(shí)現(xiàn),先看下本節(jié)大綱: (1)思路說明; (2)代碼解析; (3)修改定時任務(wù)執(zhí)行周期特別說明;
    的頭像 發(fā)表于 04-12 11:06 ?1019次閱讀

    Linux如何使用cron進(jìn)行定時任務(wù)的操作

    按計(jì)劃執(zhí)行命令對于計(jì)算機(jī)來說非常重要,因?yàn)榧偃缥矣H自去執(zhí)行一些任務(wù)的話,可能會因?yàn)槎喾矫嬉蛩夭荒馨磿r執(zhí)行,所以定時任務(wù)就顯得非常重要了! cron就是一個能夠執(zhí)行定時任務(wù)的命令,其實(shí)該命令本身不難,下面小編帶您詳細(xì)了解!
    的頭像 發(fā)表于 05-12 16:27 ?2003次閱讀

    python定時任務(wù)實(shí)踐

    由于程序需求,監(jiān)測配置變化需要設(shè)置定時任務(wù),每分鐘執(zhí)行一次,對任務(wù)持久化要求不高,不需要時可以關(guān)閉定時任務(wù)
    的頭像 發(fā)表于 05-20 17:53 ?925次閱讀
    python<b class='flag-5'>定時任務(wù)</b>實(shí)踐

    定時器如何實(shí)現(xiàn)定時任務(wù)

    1.1、單次定時任務(wù)實(shí)現(xiàn) boost 的asio庫里有幾個定時器,老的有 deadline_timer , 還有三個可配合 C++11 的 chrono
    的頭像 發(fā)表于 11-09 17:20 ?786次閱讀