Ishlarni rejalashtirish uchun Linux Crontab faylini qanday tuzish kerak

Kirish

Linuxda cron deb ataladigan dastur bo'lib, u muntazam ravishda jarayonlarni ishlatish uchun ishlatiladi.

Buning yo'li skriptlarning ishlashi uchun tizimingizda ma'lum papkalarni tekshirish. Masalan, /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly va /etc/cron.monthly nomli papka mavjud. Bundan tashqari, faylni / etc / crontab deb nomlanadi.

Odatiy bo'lib, ularni muntazam ravishda amalga oshirish uchun skriptlarni tegishli papkalarga joylashtirishingiz mumkin.

Misol uchun terminal oynasini oching (CTRL, ALT va T tugmalarini bosib) va quyidagi ls buyrug'ini bajaring:

ls / etc / cron *

Siz soat, kundalik, haftalik va oylik ishlaydigan dasturlar yoki skriptlarning ro'yxatini ko'rasiz.

Ushbu papkalar bilan bog'liq muammolar biroz noaniq. Masalan, har kuni skript kuniga bir marta ishlatilishini bildiradi, ammo u kun davomida skriptning ishlashi ustidan nazorat yo'q.

Bu erda crontab fayli kiradi.

Crontab faylini tahrirlash orqali, uni ishga tushirishni istagan aniq sana va vaqtni ishlatish uchun skript yoki dasturni olishingiz mumkin. Masalan, siz har kuni soat 18:00 da fayllaringizni zaxiralashni xohlaysiz.

Ruxsatnomalar

Crontab buyrug'i, foydalanuvchining crontab faylini tahrirlashga ruxsat borligini talab qiladi. Crontab ruxsatlarini boshqarish uchun asosan ikkita fayl mavjud:

Agar /etc/cron.allow fayl mavjud bo'lsa, crontab faylini tahrirlashni xohlagan foydalanuvchi ushbu faylda bo'lishi kerak. Cron.allow fayli mavjud bo'lmasa, lekin /etc/cron.deny fayli bo'lsa, foydalanuvchi ushbu faylda mavjud bo'lmasligi kerak.

Agar ikkala fayl mavjud bo'lsa /etc/cron.allow /etc/cron.deny faylini bekor qiladi.

Hech qaysi fayl mavjud bo'lmasa, foydalanuvchi tizimning crontab-ni tahrirlay oladimi-yo'qmi tizim konfiguratsiyasiga bog'liq.

Ildiz foydalanuvchi har doim crontab faylini tahrir qilishi mumkin. Crontab buyrug'ini ishlatish uchun root user yoki sudo buyrug'iga o'tish uchun suv buyrug'idan foydalanishingiz mumkin.

Crontab faylini tahrirlash

Ruxsati bo'lgan har bir foydalanuvchi o'z crontab faylini yaratishi mumkin. Cron buyrug'i asosan bir nechta crontab fayllari mavjudligini tekshiradi va ularning barchasini boshqaradi.

Crontab fayli mavjudligini tekshirish uchun quyidagi buyruqni bajaring:

crontab-1

Agar sizda crontab fayli bo'lmasa, "crontab dagi" sizning " uchun hech qanday crontab" xabar paydo bo'ladi, aks holda sizning crontab dosyaniz ko'rsatiladi (bu funktsiya tizimdan tizimgacha farq qiladi, ba'zida u hech narsa ko'rsatmaydi va boshqa paytlarda " bu faylni tahrir qilmang ").

Crontab faylini yaratish yoki tahrirlash uchun quyidagi buyruqni bajaring:

crontab -e

Tanlangan ko'rsatuv bo'lmasa sukut bo'yicha sizdan foydalanish uchun odatiy tahrirlovchini tanlash so'raladi. Shaxsan men nanodan foydalanmoqchiman, chunki u juda to'g'ri ishlatiladi va terminaldan ishlaydi.

Aniqlangan fayl juda ko'p ma'lumotlarga ega, lekin asosiy qism, izohlar qismining oxirigacha (sharhlar # bilan boshlangan satrlarda ko'rsatilgan) avval misol bo'ladi.

# mh dom mon dow buyrug'i

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Crontab faylining har bir qatoriga mos keladigan 6 ta ma'lumot mavjud:

Har bir element uchun (buyruqdan tashqari) joker belgini belgilashingiz mumkin. Quyidagi misolga crontab liniyasiga qarang:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Yuqoridagi buyruq 30 daqiqada, 18 soatda va har qanday kun, oy va kunning boshida buyruqni bajarish uchun zipni yozing va uy katalogini / var / backups papkasida ishlating.

Har bir soatdan keyin 30 minutda ishlatish uchun buyruqni olish uchun quyidagi komandani ishga tushirishim mumkin:

30 * * * * buyrug'i

O'tgan 6-da har bir daqiqani bajarish uchun buyruqni olish uchun men quyidagi buyruqni bajarishim mumkin:

* 18 * * * buyrug'i

Shunday ekan, crontab buyruqlarini o'rnatish haqida ehtiyot bo'lishingiz kerak.

Masalan:

* * * 1 * buyrug'i

Yuqoridagi amr yanvar oyida har haftaning har bir kunining har bir daqiqasida bajariladi. Men siz xohlagan narsangizga shubha qilaman.

1-yanvar soat 5 da buyruqni bajarish uchun quyidagi buyruqni crontab fayliga kiritasiz:

0 5 1 1 * buyrug'i

Crontab faylini qanday chiqarish mumkin

Ko'pincha crontab faylini olib tashlamoqchi emassiz, lekin ba'zi satrlarni crontab faylidan olib tashlashingiz mumkin.

Biroq, foydalanuvchi crontab faylini o'chirish uchun quyidagi buyruqni bajaring:

crontab -r

Buning xavfsiz usullaridan biri quyidagi buyruqni bajarishdir:

crontab -i

Bu savolni "ishonchingiz komilmi?" Deb so'raydi. crontab faylini olishdan oldin.