Skip to main content

Как да редактирате файла Linux Crontab, за да планирате работни места

Merge • GitHub & Git Foundations (Април 2025)

Merge • GitHub & Git Foundations (Април 2025)
Anonim

Демонът в Линукс се обади Cron извършва процеси на редовни интервали от време. Той проверява определени папки в системата ви, за да могат скриптовете да се изпълняват в поредица от папки, включително /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly и /etc/cron.monthly. Съществува и файл, наречен / etc / crontab.

Поставяне на скриптове в Cron папки

Можете просто да поставите скриптове в съответните папки, за да ги накарате да работят на редовни интервали.

Например, отворете терминален прозорец и изпълнете следната команда ls:

ls / etc / cron *

Ще видите списъка с програми или скриптове, които се изпълняват почасово, ежедневно, седмично и месечно.

Проблемът с тези папки е, че те са малко неясни. Например, ежедневно означава, че скриптът ще се изпълнява веднъж на ден, но нямате контрол върху времето, през което скриптът ще се изпълнява през този ден.

Това е мястото, където влезе файлът crontab.

Чрез редактирането на файла crontab можете да получите скрипт или програма, които да се показват на точната дата и час, когато искате да се изпълняват.

Разрешения

Командата crontab изисква потребителят да има права за редактиране на crontab файл. Има основно два файла, които се използват за управление на разрешенията за crontab:

  • /etc/cron.allow
  • /etc/cron.deny

Ако файлът /etc/cron.allow съществува, потребителят, който иска да редактира файла crontab, трябва да е в този файл. Ако файлът cron.allow не съществува, но има файл /etc/cron.deny, тогава потребителят не трябва да съществува в този файл. Ако съществуват и двата файла, /etc/cron.allow подменя файла /etc/cron.deny. Ако няма нито един файл, зависи от конфигурацията на системата дали потребителят може да редактира crontab.

Потребителят на корен винаги може да редактира файла crontab. Можете да използвате командата su, за да превключите към коренния потребител или командата sudo, за да изпълните командата crontab.

Редактиране на Crontab файла

Всеки потребител, който има подходящи разрешения, може да създаде свой собствен файл crontab. Командата cron основно търси всички файлове crontab и минава през всеки един от тях.

За да проверите дали имате файл crontab, изпълнете следната команда:

crontab -l

Ако нямате файл crontab, съобщението "no crontab for ", в противен случай вашият crontab файл ще се покаже (тази функция се различава от системата на системата, понякога изобщо не се показва нищо и други пъти показва" не редактирайте този файл ").

За да създадете или редактирате файл crontab, изпълнете следната команда:

crontab -e

Файлът, който се отваря, има много информация, но ключовата част е примерът точно преди края на секцията за коментари (коментарите се обозначават с линии, започващи с #).

# m h dom mon mon dow команда

0 5 * * 1 tar -zcf /var/backups/home.tgz / начало /

Има 6 броя информация, които да се поберат във всеки ред на файла crontab:

  • Минута на деня командата трябва да се изпълнява (m)
  • Часът от деня, в който командата трябва да се изпълнява (h)
  • Денят на месеца, в който командата се изпълнява (dom)
  • Месецът, в който трябва да се изпълнява командата (мон)
  • Денят от седмицата командата се изпълнява (dow)
  • Командата

За всеки елемент (с изключение на командата) можете да определите заместващ знак. Вижте следния пример crontab линия:

30 18 * * * tar -zcf /var/backups/home.tgz / начало /

На 30 минути, 18 часа и всеки ден, месец и ден от седмицата, този запис crontab ще цитира и зарежда домашната директория в папката / var / backups.

За да получите команда, която да се изпълнява на всеки 30 минути след всеки час, изпълнете следната команда:

30 * * * * команда

За да получите команда, която да се изпълнява всяка минута след 18:00 часа, изпълнете следната команда:

* 18 * * * команда

Следователно трябва да внимавате да настроите командите на crontab.

Например:

* * * 1 * команда

Тази команда ще се изпълнява всяка минута от всеки час на всеки ден от всяка седмица през януари.

За да стартирате команда в 5 часа сутринта на 1 януари, ще получите следната команда в crontab файла:

0 5 1 1 * команда

Как да премахнете Crontab файл

По-голямата част от времето няма да искате да премахнете файла crontab, но може да искате да премахнете някои редове от файла crontab.

Ако обаче искате да премахнете crontab файла на потребителя, изпълнете следната команда:

crontab -r

По-сигурен начин да направите това е да изпълните следната команда:

crontab -i

Операционната система изисква проверка, преди да премахне файла crontab.