CRM і платформы дадзеныхІнструменты маркетынгу

Разуменне і выкарыстанне Cron: поўнае кіраўніцтва па раскладзе заданняў

Cron, Скарачэнне каманда запуску онлайн, гэта магутны планавальнік заданняў на аснове часу ў Unix-падобных аперацыйных сістэмах. Тэрмін крон гэта гульня слова кронас or Chronos, які ў грэцкай міфалогіі ўвасабляе час. Назва cron для планавальніка заданняў на аснове часу адлюстроўвае яго функцыю планавання і выканання задач у пэўны час або інтэрвалы, што робіць яго адпаведнай спасылкай на канцэпцыю часу ў міфалогіі.

Cron дазваляе аўтаматызаваць паўтаральныя задачы, выконваць скрыпты праз пэўныя прамежкі часу і падтрымліваць эфектыўнасць сістэмы. Гэта поўнае кіраўніцтва правядзе вас праз усё, што вам трэба ведаць аб cron, ад усталёўкі да выкарыстання, ключавых слоў і рэальных узораў кода.

Змест

  1. Што такое хрон?
  2. Ўстаноўка cron
  3. Асноўныя паняцці і тэрміналогія
  4. Сінтаксіс Cron
  5. Прыклады і выпадкі выкарыстання
  6. Агульныя падводныя камяні і лепшыя практыкі
  7. Дадатковыя рэсурсы cron

Што такое Крон?

Cron - гэта дэман (фонавы працэс), які працуе ў сістэмах на базе Unix, уключаючы Linux і macOS. Яго асноўная мэта - аўтаматычнае выкананне запланаваных задач. Гэтыя задачы могуць вар'іравацца ад простых сцэнарыяў да абслугоўвання сістэмы і рэзервовага капіявання.

Ўстаноўка cron

У большасці Unix-падобных сістэм cron прадусталяваны. Вы можаце праверыць яго наяўнасць, адкрыўшы тэрмінал і набраўшы:

crontab -e

Калі гэтая каманда адкрывае рэдактар ​​табліцы cron, у вас усталяваны cron. Калі няма, вы можаце ўсталяваць яго з дапамогай мэнэджэра пакетаў вашай сістэмы. Напрыклад, у Ubuntu вы можаце выкарыстоўваць:

sudo apt-get install cron

Канцэпцыі і тэрміналогія Cron

Перш чым паглыбіцца ў выкарыстанне cron, давайце разбярэмся з некаторымі важнымі паняццямі і тэрміналогіяй:

Тлумачэнне дыяграмы Крона
  • Кронтаб: Скарачэнне ад табліца хрон, гэта файл, які змяшчае спіс запланаваных задач для карыстальніка.
  • Кронджоб: Адна задача або каманда, запланаваная для выканання ў пэўны час.
  • Поля: Кожны cronjob мае пяць палёў, якія вызначаюць час запуску задання:
    • Хвіліна (0-59)
    • Гадзіна (0-23)
    • Дзень месяца (1-31)
    • Месяц (1-12)
    • Дзень тыдня (0-7, дзе і 0, і 7 азначаюць нядзелю)

Сінтаксіс Cron

Разуменне сінтаксісу запісу crontab вельмі важна. Гэта адбываецца па схеме:

* * * * * command-to-be-executed

Вось тлумачэнне з каментарамі, якое вы можаце ўставіць у сваё заданне cron:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Кожная зорачка (*) прадстаўляе поле ў выразе cron. Напрыклад, каб запланаваць працу кожны дзень у 3:30, вы павінны выкарыстоўваць:

30 15 * * * command-to-be-executed

Прыклады і варыянты выкарыстання Cron

Давайце разгледзім некаторыя практычныя прыклады, каб праілюстраваць выкарыстанне cron:

  • Штодзённы запуск скрыпта: Каб выконваць скрыпт кожны дзень апоўначы, вы можаце выкарыстоўваць:
0 0 * * * /path/to/script.sh
  • Запуск скрыпту кожную гадзіну: Для штогадзіннай задачы выкарыстоўвайце:
0 * * * * /path/to/script.sh
  • Штотыднёвае рэзервовае капіраванне: Каб запланаваць штотыднёвае рэзервовае капіраванне па нядзелях у 2 гадзіны ночы, выкарыстоўвайце:
0 2 * * 0 /path/to/backup-script.sh
  • Выкананне задачы ў пэўныя месяцы: Для запуску задання толькі ў студзені і ліпені ў 8:30:
30 8 * 1,7 * /path/to/script.sh

Падводныя камяні Cron і лепшыя практыкі

  • зменныя асяроддзя: Пераканайцеся, што вашы заданні cron наладжваюць неабходныя зменныя асяроддзя, бо заданні cron не ўспадкоўваюць зменныя асяроддзя вашай абалонкі.
  • правы доступу: Пераканайцеся, што вы ўсталявалі дазволы для файла сцэнарыя як выканальнага. Кожны раз, калі я перазахоўваў свой сцэнар, я выяўляў, што мае дазволы трэба наладжваць зноў!
  • Зменныя шляху: Каб пазбегнуць праблем з адноснымі шляхамі, укажыце поўны шлях да выкананых файлаў і скрыптоў у вашых заданнях cron.
  • Тэставанне: Праверце іх у бяспечным асяроддзі, перш чым наладжваць важныя заданні cron, каб пераканацца, што яны працуюць належным чынам.
  • Запіс: Перанакіроўвайце выснову вашых заданняў cron у файл часопіса, каб адсочваць іх выкананне і любыя магчымыя памылкі.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Гэта заданне cron запускае скрыпт /path/to/script.sh кожны дзень апоўначы, а вывад (як у стандартным вывадзе, так і ў стандартным фармаце), створаны скрыптам, дадаецца ў файл часопіса

/path/to/cron.log. Гэта звычайная практыка збору і рэгістрацыі вынікаў заданняў cron для маніторынгу і ліквідацыі непаладак. Давайце разбяром гэты канкрэтны сінтаксіс задання cron:

  • *0 0 * * *: У гэтай частцы вызначаецца расклад, калі павінна выконвацца заданне cron. У гэтым выпадку ён павінен запускацца кожны дзень апоўначы (0 хвілін на 0 гадзін).
  • /шлях/да/script.sh: гэта каманда або скрыпт, якія трэба выканаць падчас запуску задання cron. У гэтым прыкладзе паказаны скрыпт, размешчаны па адрасе /path/to/script.sh.
  • >> /шлях/да/cron.log: Гэтая частка перанакіроўвае стандартны вывад (stdout) задання cron у файл часопіса з імем cron.log знаходзіцца ў /path/to/. >> аператар дадае вывад у файл журнала, таму, калі файл не існуе, ён будзе створаны, а калі ён ужо існуе, вывад будзе дададзены ў канец файла.
  • 2> & 1: Гэта выкарыстоўваецца для перанакіравання стандартнага вываду (stdout) і стандартнай памылкі (stderr) у адзін і той жа файл часопіса. The 2 прадстаўляе stderr, і 1 прадстаўляе стандартны вывад. Такім чынам, 2>&1 азначае, што як stdout, так і stderr перанакіроўваюцца ў адзін і той жа файл часопіса, указаны раней.

Cron - гэта каштоўны інструмент для аўтаматызацыі задач у сістэмах на базе Unix. Дзякуючы гібкім варыянтам планавання, ён можа спрасціць адміністраванне сістэмы і павысіць эфектыўнасць. Разумеючы яго сінтаксіс і прытрымліваючыся лепшых практык, вы можаце выкарыстоўваць моц cron для эфектыўнай аўтаматызацыі руцінных задач.

Дадатковыя рэсурсы Cron

Douglas Karr

Douglas Karr з'яўляецца CMO кампаніі OpenINSIGHTS і заснавальнік ст Martech Zone. Дуглас дапамог дзясяткам паспяховых стартапаў MarTech, аказаў дапамогу ў належнай абачлівасці больш чым на 5 мільярдаў долараў у набыцці і інвестыцыях Martech і працягвае дапамагаць кампаніям у рэалізацыі і аўтаматызацыі іх продажаў і маркетынгавых стратэгій. Дуглас - міжнародна прызнаны эксперт і дакладчык па лічбавай трансфармацыі і MarTech. Дуглас таксама з'яўляецца апублікаваным аўтарам даведніка па манекенах і кнігі па бізнес-кіраўніцтву.

Артыкулы па Тэме

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Martech Zone можа даць вам гэты кантэнт бясплатна, таму што мы манетызуем наш сайт за кошт даходаў ад рэкламы, партнёрскіх спасылак і спонсарства. Мы былі б удзячныя, калі б вы выдалілі блакіроўшчык рэкламы пры праглядзе нашага сайта.