Автоматжуулалт (Automation)

Заримдаа та тодорхой үйлдэл хийдэг скрипт бичиж, түүнийгээ огноо/цагийн тодорхой давтамжтайгаар ажиллуулахыг хүсдэг (жишээ нь, нөөцлөх даалгавар). Үүнд зориулан цаана ажиллаж, тогтсон хугацаанд идэвхждэг ad hoc (тусгай) шийдлийг үргэлж өөрөө бичиж болох юм. Гэхдээ ихэнх UNIX системүүд нь энгийн дүрэмд суурилан даалгаврыг нэг минут хүртэлх давтамжтайгаар ажиллуулж чаддаг cron даймонтой (daemon) ирдэг.

Ихэнх UNIX системүүдэд cron даймон болох crond нь анхнаасаа ажиллаж байдаг ч та ps aux | grep crond тушаалаар үүнийг үргэлж шалгаж болно.

Crontab

Cron-ийн тохиргооны файлыг crontab -l тушаалаар харж, crontab -e тушаалаар засварлаж болно. Cron-ийн ашигладаг цагийн формат нь хэрэглэгч болон тушаалын хамт зайгаар тусгаарлагдсан таван талбараас бүрддэг:

Одоор тэмдэглэсэн * нь бүх утгыг илэрхийлэх бөгөөд одны ард зураас болон тоо ашиглавал n өдөр/цаг тутамд ажиллахыг заана. Жишээлбэл, */5 нь таван нэгж тутамд гэсэн үг. Зарим жишээнүүд:

*/5   *    *   *   *       # Таван минут тутамд
  0   *    *   *   *       # Цаг бүрийн эхэнд (жишээ нь 1:00, 2:00)
  0   9    *   *   *       # Өдөр бүр өглөөний 9:00 цагт
  0   9-17 *   *   *       # Өглөөний 9:00-өөс оройн 5:00 цаг хүртэл цаг тутамд
  0   0    *   *   5       # Баасан гараг бүр шөнийн 12:00 цагт
  0   0    1   */2 *       # Өнжөөд нэг сарын эхний өдөр, шөнийн 12:00 цагт

Та илүү олон нийтлэг crontab хуваарийн жишээг crontab.guru-ээс харах боломжтой.

Бүрхүүлийн орчин ба лог хөтлөлт

Cron-ийг ашиглах үед тохиолддог нийтлэг алдаа бол энэ нь .bashrc, .zshrc гэх мэт энгийн бүрхүүлийн (shell) ачаалдаг орчны скриптүүдийг уншдаггүй бөгөөд гаралтыг хаашаа ч логдож хадгалдаггүй явдал юм. Үүн дээр нэмээд хамгийн дээд давтамж нь нэг минут байдаг тул эхлэн сурч байгаа үед cron скриптүүдийн алдааг олох нь нэлээд төвөгтэй байж болно.

Орчны тохиргоог зөв ажиллуулахын тулд өөрийн скриптэд үргэлж абсолют замыг ашиглаж, PATH зэрэг орчны хувьсагчдыг скрипт дотроо тохируулах хэрэгтэй. Лог хөтлөх үйл явцыг хялбарчлахын тулд crontab-ийг дараах хэлбэрээр бичихийг зөвлөж байна:

* * * * *   user  /path/to/cronscripts/every_minute.sh >> /tmp/cron_every_minute.log 2>&1

Мөн скриптээ тусдаа файлд бичиж бэлдээрэй. >> нь файлын төгсгөлд шинэ гаралт нэмдэг болохыг, мөн 2>&1 нь stderr гаралтыг stdout руу чиглүүлдэг болохыг санаарай (хэдийгээр та тэдгээрийг тусад нь байлгахыг хүсэж болох ч).

Anacron

Cron-ийг ашиглахад анхаарах нэг зүйл бол хэрэв тушаал ажиллах ёстой цагт компьютер унтарсан эсвэл унтсан (asleep) төлөвт байвал тушаал ажиллахгүй өнгөрдөг. Байнга ажилладаг богино давтамжтай даалгаврын хувьд энэ нь зүгээр байж болох ч хугацаа нь хол даалгаврыг заавал ажиллуулахыг хүсэж болох юм. anacron нь ажиллах давтамжийг хоногоор зааж өгдгөөс бусдаар cron-той маш төсөөтэй ажилладаг. Cron-оос ялгаатай нь энэ нь компьютерыг тасралтгүй асаалттай байх албагүй гэж үздэг. Тиймээс өдөр бүр 24 цаг ажилладаггүй компьютеруудад өдөр тутмын, долоо хоногийн, болон сарын тогтмол ажлуудыг удирдахад үүнийг ашиглаж болно.

Дасгалууд

  1. Таны татаж авсан файлуудын (Downloads) хавтас руу минут тутамд шалгаж, зураг болох ямар ч файлыг (та MIME төрлийг судалж үзэх эсвэл нийтлэг зургийн өргөтгөлийг тааруулах тогтмол илэрхийлэл ашиглаж болно) олоод Зураг (Pictures) хавтас руу тань зөөдөг скрипт бичээрэй.

  2. Таны систем дэх хуучирсан багцуудыг долоо хоног бүр шалгаж, тэдгээрийг шинэчлэхийг сануулдаг эсвэл автоматаар шинэчилдэг cron скрипт бичээрэй.


Энэ хуудсыг засварлах.

Лиценз: CC BY-NC-SA.