[Linux] Какво е cron и как се работи с него?

Дискусии и проблеми свързани с Linux.
Аватар
WaLkZ
Извън линия
Администратор
Администратор
Мнения: 799
Регистриран на: 05 Окт 2016, 21:13
Местоположение: Варна
Се отблагодари: 75 пъти
Получена благодарност: 227 пъти
Обратна връзка:

[Linux] Какво е cron и как се работи с него?

Мнение от WaLkZ » 09 Окт 2016, 16:59

---== Глава 1 ==--- Какво е Cron?

1 - Cron идва от гръцката дума chronos, която означава време. Cron е услуга с която без проблемно могат да се автоматизират някои задачи в Линукс. Например ако искате на 3 седмици да трие вашите логове или да прави Backup на някой файлове се използва cron.

---== Глава 2 ==--- Как да използваме Cron?

2 - Напишете в конзолата (трябва да се под root права)

Код за потвърждение: Избери целия код

crontab -e
Ще ви се отвори файл със вашия подразбирашт текстов редактор със подобно съдържание (ако е празен)

Код за потвърждение: Избери целия код

# m h  dom mon dow   command
Ако някога сте ползвали cron сигурно сте се чудили какво значи всяко едно от съкращенията. Сега ще обясня

m ---- Минути (От 0 до 59)
h ---- Часове (От 0 до 23) - Като 0 е 24 часа
dom ---- Ден от месеца (От 1 до 31)
mon ---- Месец от годината (От 1 до 12)
dow ---- Ден от седмицата (От 0 до 6) --- Като 0 се пада неделя
command ---- Тук поставяте нещото което искате да се изпълни от зададения вас минута/час/дата/месец/ден

---== Глава 3 ==--- Примерни скриптове

3 - Сега ще напиша няколко примерни скрипта и ще обясня всеки какво прави

3.1 - Скрипт който на на всеки 1 час да чисти кеша на рамта (много е полезно)

След като сме отворили конфигурационния файл на cron въвеждаме следните три реда:

Код за потвърждение: Избери целия код

00 */1  *   *   *      echo 1 > /proc/sys/vm/drop_caches
01 */1  *   *   *      echo 2 > /proc/sys/vm/drop_caches
02 */1  *   *   *      echo 3 > /proc/sys/vm/drop_caches
Както виждате тука сме задали на първия ред първия параметър "00" Което значи че точно 1 час след пускането на командата ще се изпълни тази която сме задали в случея "echo 1 > /proc/sys/vm/drop_caches"

За да не се мешат командните редове задаваме в следващата минута, която се пада първа след изтичането на 1 час да се стартира втора команда, в случая "echo 2 > /proc/sys/vm/drop_caches"

Третия ред сме задали на втората минута от изтичането на 1 час да се изпълни третия ред в случея "echo 3 > /proc/sys/vm/drop_caches"

На втората колонка сме задали на всеки скрипт да се стартира всеки 1 час докато компютъра е включен. Демек това "*/1" еденицата означава един час ако искате примерно да не е на един час а на четири часа трябва да стане така: "*/4"

Миналия ден имаше тема "Как да направя на 3 седмици да се трие ранка в сървъра". Най-лесно ако сте на Linux е да стане с cron, ето как:

Код за потвърждение: Избери целия код

* * 21 * * root rm /пълния/път/до/файла/csstats.dat
Първите две полета ги оставяме празни, защото ако случайно в определения час от вас, компютъра е изгасен няма да се изпълни командата и ще пропусне срока, а така със звездичка оказваме, че когато компютъра бъде пуснат ще се изтрие файла

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

Следващите две полета също ги оставяме празни, защото искаме на 21 дена в месеца демек със * задаваме всеки месец. А ден от седмицата няма защо да задаваме след като сме задали на 21 дни да се трие файла.

Последното поле, задава функцията за триене на файла използваме командата "rm" като на мястото "/пълния/път/до/файла/csstats.dat" слагате пълния път до csstats.dat.

Автор: freedj a.k.a kostov

Аватар
talibana
Извън линия
Потребител
Потребител
Мнения: 49
Регистриран на: 21 Окт 2016, 22:47
Местоположение: София
Се отблагодари: 5 пъти
Обратна връзка:

Re: [Linux] Какво е cron и как се работи с него?

Мнение от talibana » 21 Окт 2016, 22:58

Здравей,ще добавя и нещо от мен за почиставане на рам паметта и кеша

Пишете в терминала

crontab -e

Код за потвърждение: Избери целия код

00 */3  *   *   *      echo 1 > /proc/sys/vm/drop_caches
01 */3  *   *   *      echo 2 > /proc/sys/vm/drop_caches
02 */3  *   *   *      echo 3 > /proc/sys/vm/drop_caches
след това отваряме с някой редактор pico или nano

pico /etc/crontab

Код за потвърждение: Избери целия код

00 */3  * * *   root    echo 1 > /proc/sys/vm/drop_caches
01 */3  * * *   root    echo 2 > /proc/sys/vm/drop_caches
02 */3  * * *   root    echo 3 > /proc/sys/vm/drop_caches
и след това рестартирате крон-а,времето може да си го увеличите да не е през 3-часа,а нещо според вашите нужди :)

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Linux”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта