CRM и платформи за данниМаркетингови инструменти

Разбиране и използване на Cron: Изчерпателно ръководство за планиране на задачи

Cron, кратко за команда стартирайте онлайн, е мощен базиран на времето планировчик на задачи в Unix-подобни операционни системи. Терминът Cron е игра на думата Kronos or Chronos, което в гръцката митология представлява времето. Името cron за базирания на времето планировчик на задачи отразява неговата функция за планиране и изпълнение на задачи в определени часове или интервали, което го прави подходяща препратка към концепцията за време в митологията.

Cron ви позволява да автоматизирате повтарящи се задачи, да изпълнявате скриптове на определени интервали и да поддържате ефективността на системата. Това изчерпателно ръководство ще ви преведе през всичко, което трябва да знаете за cron, от инсталиране до използване, ключов речник и примери за истински код.

Съдържание

  1. Какво е cron?
  2. Инсталиране на Cron
  3. Основни понятия и терминология
  4. Cron Синтаксис
  5. Примери и случаи на употреба
  6. Често срещани клопки и най-добри практики
  7. Допълнителни cron ресурси

Какво е Cron?

Cron е демон (фонов процес), който работи на Unix-базирани системи, включително Linux и macOS. Основната му цел е автоматично да изпълнява планирани задачи. Тези задачи могат да варират от прости скриптове до системна поддръжка и архивиране.

Инсталиране на Cron

В повечето Unix-подобни системи cron е предварително инсталиран. Можете да проверите наличността му, като отворите терминал и напишете:

crontab -e

Ако тази команда отвори редактора на cron таблица, имате инсталиран cron. Ако не, можете да го инсталирате с помощта на системния мениджър на пакети. Например в Ubuntu можете да използвате:

sudo apt-get install cron

Концепции и терминология на Cron

Преди да се потопим в използването на 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 всеки ден в полунощ и изходът (както stdout, така и stderr), генериран от скрипта, се добавя към лог файла

/path/to/cron.log. Това е често срещана практика за улавяне и регистриране на изхода от cron задания за целите на наблюдението и отстраняването на проблеми. Нека разбием този специфичен синтаксис на cron задача:

  • *0 0 * * *: Тази част дефинира графика за това кога трябва да се изпълнява задачата cron. В този случай е планирано да се изпълнява всеки ден в полунощ (0 минути след 0 часа).
  • /path/to/script.sh: Това е командата или скриптът, който да се изпълни, когато се изпълнява задачата cron. Този пример показва скрипт, разположен на /path/to/script.sh.
  • >> /path/to/cron.log: Тази част пренасочва стандартния изход (stdout) на задачата cron към лог файл с име cron.log намира се в /path/to/, Най- >> добавя изхода към лог файла, така че ако файлът не съществува, той ще бъде създаден, а ако вече съществува, изходът ще бъде добавен в края на файла.
  • 2> & 1: Това се използва за пренасочване както на стандартния изход (stdout), така и на стандартната грешка (stderr) към един и същ лог файл. The 2 представлява stderr и 1 представлява stdout. Така, 2>&1 означава, че както stdout, така и stderr се пренасочват към същия лог файл, указан по-рано.

Cron е ценен инструмент за автоматизиране на задачи на Unix-базирани системи. Със своите гъвкави опции за планиране, той може да опрости системното администриране и да подобри ефективността. Като разберете неговия синтаксис и следвате най-добрите практики, можете да впрегнете силата на cron, за да автоматизирате ефективно вашите рутинни задачи.

Допълнителни Cron ресурси

Douglas Karr

Douglas Karr е CMO на OpenINSIGHTS и основателят на Martech Zone. Дъглас е помогнал на десетки успешни стартъпи на MarTech, съдействал е за надлежна проверка на над $5 милиарда в придобивания и инвестиции на Martech и продължава да помага на компаниите при прилагането и автоматизирането на техните стратегии за продажби и маркетинг. Дъглас е международно признат експерт и лектор по дигитална трансформация и MarTech. Дъглас също е публикуван автор на ръководство за манекени и книга за бизнес лидерство.

Свързани статии

Бутон "Нагоре" горе
Близо

Открит е рекламен блок

Martech Zone е в състояние да ви предостави това съдържание безплатно, тъй като осигуряваме приходи от нашия сайт чрез приходи от реклами, партньорски връзки и спонсорство. Ще сме благодарни, ако премахнете блокера си за реклами, докато разглеждате нашия сайт.