11.6 cron хэрэгслийг тохируулах нь

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

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

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

Note: Хэрэглэгчийн 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 $
# (1)
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin (2)
HOME=/var/log
#
#
#minute hour    mday    month   wday    who command (3)
#
#
*/5 *   *   *   *   root    /usr/libexec/atrun (4)
(1)
FreeBSD-ийн ихэнх тохиргооны файлуудын адил # тэмдэгт тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.
(2)
Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (=) тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр SHELL,PATH, болон HOME тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол cron анхдагч болох sh-ийг ашигладаг. Хэрэв PATH хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв HOME мөрийг орхисон бол cron ажиллуулж байгаа хэрэглэгчийн гэрийн санг ашигладаг.
(3)
Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь minute, hour, mday, month, wday, who, болон command юм. Эдгээрийг нэрээс нь харахад ойлгомжтой. minute нь тушаал ажиллах минутаар илэрхийлэгдсэн хугацаа. hour нь minute-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг. mday нь сарын өдрийг заана. month нь hour болон minute-тай адил бөгөөд сарыг зааж өгнө. wday тохируулга нь долоо хоногийн өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн цагийг дагадаг. who талбар нь тусгай бөгөөд зөвхөн /etc/crontab файлд байдаг. Энэ талбар нь аль хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн crontab файлыг суулгах үед энэ тохируулга байдаггүй. Эцэст нь command тохируулга жагсаагддаг. Энэ нь сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой.
(4)
Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид хэд хэдэн * тэмдэгтүүд дараалсан */5 гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр * тэмдэгтүүд нь “эхний-эцсийн” гэсэн үг бөгөөд үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс үзэхэд atrun тушаал нь root эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана. atrun тушаалын талаар дэлгэрэнгүй мэдээллийг atrun(8) гарын авлагаас үзнэ үү.

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

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

11.6.1 Crontab суулгах нь

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

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

% crontab crontab-file

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

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

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

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

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

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