FreeBSD гарын авлага
Өмнөх | Бүлэг 12. Тохиргоо ба Тааруулалт | Дараах

# 12.6. `cron` хэрэгслийг тохируулах нь

Хувь нэмэр болгон оруулсан Том Рөүдс. Орчуулсан Цагаанхүүгийн Ганболд.

FreeBSD-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь cron(8) юм. `cron` хэрэгсэл ард ажилладаг бөгөөд `/etc/crontab` файлыг байнга шалгаж байдаг. `cron` хэрэгсэл `/var/cron/tabs` сангаас шинэ `crontab` файлуудыг бас шалгадаг. Эдгээр `crontab` файлууд нь тусгай функцуудыг агуулдаг бөгөөд эдгээрийг `cron` тодорхой хугацаанд ажиллуулах ёстой байдаг.

`cron` хэрэгсэл системийн crontab болон хэрэглэгчийн crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн зөвхөн ялгаа нь зургаа дахь талбар юм. Системийн crontab дээрх зургаа дахь талбар нь тушаалыг ажиллуулах хэрэглэгчийн нэр байдаг. Энэ нь системийн crontab-ийг ямар ч хэрэглэгчийн эрхээр тушаалуудыг ажиллуулах боломж олгодог. Хэрэглэгчийн crontab дээрх зургаа дахь талбар нь ажиллуулах тушаал бөгөөд бүх тушаалууд нь crontab-ийг үүсгэсэн хэрэглэгчийн эрхээр ажилладаг; энэ нь аюулгүй байдлын нэг чухал боломж юм.

> Тэмдэглэл: Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд `root` эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог. Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн эрхээр ажилладаг.

> `root` хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил хэрэглэгчийн crontab-тай байж болно. Энэ нь `/etc/crontab`-аас (системийн crontab) өөр байна. Системийн crontab байдаг учраас `root` хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab шаардлагагүй байдаг.

`/etc/crontab` файлыг (системийн crontab) харцгаая:

    # /etc/crontab - root's crontab for FreeBSD
    #
    # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
    #
    #
    SHELL=/bin/sh
    PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
    HOME=/var/log
    #
    #
    #minute	hour	mday	month	wday	who	command
    #
    #
    */5	*	*	*	*	root	/usr/libexec/atrun

  FreeBSD-ийн ихэнх тохиргооны файлуудын адил `#` тэмдэгт тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.
  Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (`=`) тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр `SHELL`,`PATH`, болон `HOME` тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол `cron` анхдагч болох `sh`-ийг ашигладаг. Хэрэв `PATH` хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв `HOME` мөрийг орхисон бол `cron` ажиллуулж байгаа хэрэглэгчийн гэрийн санг ашигладаг.
  Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь `minute`, `hour`, `mday`, `month`, `wday`, `who`, болон `command` юм. Эдгээрийг нэрээс нь харахад ойлгомжтой. `minute` нь тушаал ажиллах минутаар илэрхийлэгдсэн хугацаа. `hour` нь `minute`-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг. `mday` нь сарын өдрийг заана. `month` нь `hour` болон `minute`-тай адил бөгөөд сарыг зааж өгнө. `wday` тохируулга нь долоо хоногийн өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн цагийг дагадаг. `who` талбар нь тусгай бөгөөд зөвхөн `/etc/crontab` файлд байдаг. Энэ талбар нь аль хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн `crontab` файлыг суулгах үед энэ тохируулга байдаггүй. Эцэст нь `command` тохируулга жагсаагддаг. Энэ нь сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой.
  Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид хэд хэдэн `*` тэмдэгтүүд дараалсан `*/5` гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр `*` тэмдэгтүүд нь “эхний-эцсийн” гэсэн үг бөгөөд үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс үзэхэд `atrun` тушаал нь `root` эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана. `atrun` тушаалын талаар дэлгэрэнгүй мэдээллийг atrun(8) гарын авлагаас үзнэ үү.

  Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ олон мөр болон уртассан тушаалууд урагшаа ташуу “\” үргэлжлүүлэх тэмдэгтээр хуваагдсан байх ёстой.

Энэ нь `crontab` файл болгоны хувьд үндсэн тохиргоо байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар нь зөвхөн системийн `/etc/crontab` файлд байна. Энэ талбарыг хэрэглэгчийн `crontab` файлуудын хувьд орхих хэрэгтэй.

## 12.6.1. Crontab суулгах нь

> Чухал: Та энд тайлбарласан процедурыг ашиглан системийн crontab-ийг засаж/суулгах шаардлагагүй. Зүгээр л өөрийн дуртай засварлагчийг ашигла: `cron` хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг Энэ БХА-ын оруулгаас үзнэ үү.

Хэрэглэгчийн бичсэн шинэ `crontab` файлыг суулгахын тулд эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь `crontab` хэрэгслийг ашигла. Хамгийн их ашиглагддаг тушаал бол:

    % crontab crontab-file

Энэ жишээн дээрх `crontab-file` нь урд нь үүсгэгдсэн `crontab`-ийн файлын нэр юм.

Суулгасан `crontab` файлуудыг үзүүлдэг тохируулга бас байдаг: `-l` тохируулгыг `crontab` уруу өгч ажиллуулаад гарах үр дүнг хараарай.

Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн хэрэглэгчдэд зориулсан `crontab -e` тохируулга байдаг. Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны дараа автоматаар `crontab` тушаалаар суулгагддаг.

Хэрэв та дараа нь өөрийн хэрэглэгчийн `crontab`-ийг бүр мөсөн устгахыг хүсвэл `crontab`-ийг `-r` тохируулгатай ашиглаарай.

Өмнөх | Эхлэл | Дараах
Үйлчилгээнүүдийг эхлүүлэх нь | Дээш | FreeBSD дээр rc ашиглах нь

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.