成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 cron 定時任務(wù)的小技巧

系統(tǒng) Linux
通過使用這個簡單而強大的 Linux 命令行工具,來安排備份、文件清理以及其他任務(wù)。

在計算機上讓任務(wù)按照有規(guī)律并且可預(yù)測的時間表運行很重要。作為人類,我們有時會因為分心、腦子里想太多,或是度假而記不住要做的事情。計算機真的很擅長按計劃做事,但在計算機采取行動之前,人類必須對計算機進行編程。

在某種程度上,cron 系統(tǒng)是編程的初級簡單入門。通過編輯一個文件就可以讓計算機做你想讓它做的事。你甚至不需要知道文件保存在哪里。只需鍵入一個簡單的命令,輸入你希望電腦遵循的 “配方”,并保存。從那時起,計算機會在指定時間執(zhí)行你的指令,直到被告知停止。

從設(shè)計上來看,cron 不是一個復(fù)雜的系統(tǒng)。這里有一些你需要了解的內(nèi)容。

cron 是什么?

cron 命令在 Linux 和 Unix 中無處不在,而且它經(jīng)常被模仿和重塑,以至于它幾乎成了按計劃發(fā)生的事情的一個通用術(shù)語。它是自動化的一種形式,盡管有不同的實現(xiàn)方式(比如

Dillon's cron、Vixie's cron、chrony 和其他),以及像 anacron 和 systemd 定時器這樣的變化,但其語法和工作流程幾十年來一直保持著基本一致。

cron 在一個 “假脫機spool” 系統(tǒng)上工作,像打印機和電子郵件一樣。如果不你知道打印機和電子郵件使用假脫機也沒關(guān)系,因為假脫機文件的意義在于,你不需要想太多。在 Linux 系統(tǒng)中,??/var/spool??? 目錄被設(shè)計為重要但低級的文件的中心樞紐,用戶不需要直接與之交互。 在 ??/var/spool?? 中管理的一個假脫機是 cron 表(簡稱為 “crontab”)。 包括你在內(nèi)的每個用戶在 Linux 系統(tǒng)中都有一個 crontab。用戶可以編輯、查看和刪除自己的 crontab。除此之外,用戶可以使用 crontab 來安排任務(wù)。cron 系統(tǒng)監(jiān)控 crontab,并確保一個 crontab 中列出的任何工作都能在其指定時間執(zhí)行。

編輯 cron 設(shè)置

你可以使用 ??crontab??? 命令和 ??-e???(代表“編輯”)選項來編輯你的 crontab。默認情況下,大多數(shù)系統(tǒng)會調(diào)用 ??vim??? 文本編輯器。如果你和我一樣,不使用 Vim,那么你可以在 ??~/.bashrc??? 文件中為自己設(shè)置一個不同的編輯器。我把我的設(shè)置為 Emacs,但你也可以試試 ??Nano???、??Kate???,或者任何你喜歡的編輯器。??EDITOR??? 環(huán)境變量定義了你在終端使用的文本編輯器,而 ??VISUAL?? 變量定義了你在圖形模式下使用的編輯器:

    export EDITOR=nano
export VISUAL=kate

更新設(shè)置后刷新你的 shell 會話:

    $ source ~/.bashrc

現(xiàn)在你可以用喜歡的編輯器編輯 crontab:

    $ crontab -e

為任務(wù)執(zhí)行安排時間

cron 系統(tǒng)本質(zhì)上是一個日歷系統(tǒng)。可以通過五個不同的屬性告訴 cron

需要讓一個任務(wù)多長時間運行一次:分、時、日、月、星期。這些屬性的順序是固定的,并且不一定是直觀的,你可以把它們看作是過濾器或掩碼。默認情況下,你可以理解為所有東西都被設(shè)置為“總是”或者“每一個”。此命令將在全年的每一天每小時每分鐘運行 ??touch /tmp/hello??:

    * * * * * touch /tmp/hello

可以通過設(shè)置每個屬性的具體定義來限制這個包羅萬象的時間安排表。使任務(wù)在每個小時的 30 分鐘時運行,將分鐘設(shè)置為 ??30??:

    30 * * * * touch /tmp/hello

可以通過一個具體的小時來進一步約束這個指令。使任務(wù)在每個凌晨 3:30 運行:

    30 3 * * * touch /tmp/hello

你也可以讓這個任務(wù)只在每個月的第一天運行:

    30 3 1 * * touch /tmp/hello

你可以用 ??1??? 至 ??12??? 表示 1 至 12 月來設(shè)置月份,用 ??0??? 至 ??6?? 表示周日至周六來設(shè)置星期。這項任務(wù)在 4 月份的周一的 3:15 運行:

    15 3 * 4 1 touch /tmp/hello

設(shè)置增量

所有這些設(shè)置都與一個固定時間 完全 匹配。使用 cron 符號設(shè)置可以在特定時間段后運行任務(wù),例如,每 15 分鐘運行一個任務(wù):

    */15 * * * * touch /tmp/hello

每三天在上午 10 點運行任務(wù):

    * 10 */3 * * touch /tmp/hello

每 6 小時運行一次任務(wù):

    * */6 * * * touch /tmp/hello

Cron 速記符

現(xiàn)代的 cron 實現(xiàn)已經(jīng)為常見的時間安排表添加了方便的速記符,包括:

  • ??@hourly??:每小時
  • ??@daily??:每天
  • ??@weekly??:每周
  • ??@monthly??:每月
  • ??@yearly??? 或??@annually??:每年

列出 cron 任務(wù)

使用 ??crontab?? 命令,查看計劃中的 cron 任務(wù)列表:

    $ crontab -l
15 3 * 4 1 touch /tmp/hello

刪除一個 crontab

當(dāng)一個 crontab 任務(wù)不需要時,可以使用 ??-r?? 選項來刪除它:

    $ crontab -r -i

??-i?? 選項代表 交互式。它在刪除文件之前會提示你進行確認。

Cron 可以做什么

知道如何使用 cron 是一回事,但但知道它的用途是另一回事。經(jīng)典用例就是備份計劃。如果你的電腦一天中大部分時間都是開著的,或者整天整夜地開著,那么可以為重要分區(qū)進行例行備份。我會在每天凌晨 3 點在主要數(shù)據(jù)分區(qū)上運行一個名為 ??rdiff-backup?? 的備份程序:

    $ crontab -l | grep rdiff
* 3 * * * rdiff-backup /data/ /vault/

另一個常見的用途是系統(tǒng)維護。在我的 Slackware 桌面上,每周五下午會更新本地版本庫目錄:

    $ crontab -l | grep slack
* 14 * * 5 sudo slackpkg update

我還會每 3 天在 15:00 運行一個 Ansible 腳本來 ??清理我的下載文件夾?? :

    $ crontab -l | grep ansible
* 15 */3 * * ansible-playbook /home/seth/Ansible/cleanup.yaml

有一些重復(fù)數(shù)據(jù)刪除腳本、文件大小和 ??/tmp?? 目錄的監(jiān)視器、照片調(diào)整器、文件移動工具以及很多瑣碎的任務(wù),你可以安排在后臺運行,以幫助保持系統(tǒng)不受干擾。有了 cron,計算機可以以我希望我的實體公寓能夠做到的方式來照顧自己。

記住 cron 的設(shè)置

除了想明白你為什么需要 cron 之外,根據(jù)我的經(jīng)驗,cron 最難的事情是記住它的語法。重復(fù)這句話給自己聽,反反復(fù)復(fù),直到你記牢它:


分、時、日、月、星

分、時、日、月、星

分、時、日、月、星


更好的做法是,去 ??下載我們免費的速查表?? ,這樣當(dāng)你最需要它時,它觸手可及!

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2010-01-07 13:38:41

Linux定時任務(wù)

2022-11-11 14:55:14

Linuxcron

2024-05-13 09:49:30

.NETQuartz庫Cron表達式

2012-02-07 13:31:14

SpringJava

2017-08-16 16:41:04

JavaSpringBoot定時任務(wù)

2022-06-07 07:43:44

HealthchecCronPython

2025-04-27 08:01:25

2009-10-28 10:05:29

Ubuntucrontab定時任務(wù)

2025-04-21 02:20:00

2018-10-08 14:00:28

LinuxCron定時任務(wù)

2010-03-10 15:47:58

crontab定時任務(wù)

2019-02-20 15:52:50

技術(shù)開發(fā)代碼

2023-12-19 08:09:06

Python定時任務(wù)Cron表達式

2022-03-28 08:31:29

線程池定時任務(wù)

2021-05-13 12:00:51

cron調(diào)度任務(wù)系統(tǒng)運維

2024-11-04 16:01:01

2025-01-20 13:30:00

Linux系統(tǒng)Ansible

2021-04-16 13:20:41

ZeitLinux工具

2020-12-21 07:31:23

實現(xiàn)單機JDK

2024-12-27 08:24:55

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 九九久久精品 | 羞羞网站在线观看 | 亚洲国产精品一区二区三区 | av一二三区| 99在线播放| 亚洲精品一 | 91视视频在线观看入口直接观看 | 一区二区三区在线播放视频 | 久在线观看 | 国产精品一区二区不卡 | 久久久免费| 午夜黄色 | 一区二区电影 | 超碰在线播| 亚洲欧美成人影院 | 欧美日韩综合视频 | 中文字幕在线国产 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 一区二区福利视频 | 国产一区二区三区免费 | 九九九精品视频 | 中文字幕日韩欧美一区二区三区 | 99久久精品免费视频 | 久草视频在线播放 | 91精品国产综合久久精品 | 亚洲人成人网 | 国产毛片毛片 | 国产在线精品一区二区三区 | 中文字幕在线观看 | 日日骚网| 亚洲一区 | 中文字幕蜜臀av | 国产日韩欧美一区二区 | 成人av免费网站 | 亚洲国产精品日本 | 久在线观看 | 欧美一级二级三级视频 | 国产综合精品一区二区三区 | 午夜视频在线观看网址 | 久久免费视频网 | 亚洲欧美中文日韩在线v日本 |