Cron Vs Anacron: ວິທີການຈັດຕາຕະລາງວຽກໂດຍໃຊ້ Anacron ໃນ Linux


ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍກ່ຽວກັບ cron ແລະ anacron ແລະຍັງສະແດງວິທີການຕັ້ງ anacron ໃນ Linux. ພວກເຮົາຈະກວມເອົາການປຽບທຽບຂອງສອງປະໂຫຍດນີ້ເຊັ່ນກັນ.

ເພື່ອຈັດຕາຕະລາງວຽກງານຕາມເວລາທີ່ມອບໃຫ້ຫຼືຫຼັງຈາກນັ້ນ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງທີ່ 'at' ຫລື 'batch' ແລະຕັ້ງ ຄຳ ສັ່ງໃຫ້ ດຳ ເນີນການຊ້ ຳ ອີກ, ທ່ານສາມາດຈ້າງພະນັກງານກ່ຽວກັບ cron ແລະ anacron.

Cron - ແມ່ນ daemon ທີ່ໃຊ້ໃນການເຮັດວຽກຕາມເວລາທີ່ ກຳ ນົດໄວ້ເຊັ່ນ: ການ ສຳ ຮອງລະບົບ, ການອັບເດດແລະອື່ນໆອີກຫລາຍຢ່າງ. ມັນ ເໝາະ ສົມກັບການເຮັດວຽກຕາມເວລາທີ່ ກຳ ນົດໄວ້ໃນເຄື່ອງຈັກເຊິ່ງຈະ ດຳ ເນີນການຕໍ່ເນື່ອງ 24X7 ເຊັ່ນ: ເຊີບເວີ.

ຄຳ ສັ່ງ/ໜ້າ ວຽກແມ່ນຖືກບັນຈຸເຂົ້າໃນວຽກ cron ເຊິ່ງ ກຳ ນົດໃນແຟ້ມ crontab. ເອກະສານ crontab ຂອງລະບົບເລີ່ມຕົ້ນແມ່ນ/etc/crontab, ແຕ່ຜູ້ໃຊ້ແຕ່ລະຄົນຍັງສາມາດສ້າງເອກະສານ crontab ຂອງຕົວເອງເຊິ່ງສາມາດເປີດ ຄຳ ສັ່ງໃນຊ່ວງເວລາທີ່ຜູ້ໃຊ້ ກຳ ນົດ.

ເພື່ອສ້າງເອກະສານ crontab ສ່ວນບຸກຄົນ, ໃຫ້ພິມສິ່ງຕໍ່ໄປນີ້:

$ crontab -e

ວິທີການຕັ້ງ Anacron ໃນ Linux

Anacron ຖືກ ນຳ ໃຊ້ເພື່ອ ດຳ ເນີນການ ຄຳ ສັ່ງເປັນແຕ່ລະໄລຍະດ້ວຍຄວາມຖີ່ທີ່ ກຳ ນົດໃນມື້. ມັນເຮັດວຽກທີ່ແຕກຕ່າງກັນເລັກນ້ອຍຈາກ cron; ຄາດວ່າເຄື່ອງຈະບໍ່ສາມາດໃຊ້ງານໄດ້ຕະຫຼອດເວລາ.

ມັນ ເໝາະ ສົມ ສຳ ລັບການເຮັດວຽກປະ ຈຳ ວັນ, ອາທິດ, ແລະປະ ຈຳ ເດືອນຕາມປົກກະຕິທີ່ ດຳ ເນີນການໂດຍ cron, ໃນເຄື່ອງທີ່ຈະບໍ່ໃຊ້ງານ 24-7 ເຊັ່ນ: ເຄື່ອງຄອມພິວເຕີ້ໂນດບຸກແລະຄອມພິວເຕີ້ desktop.

ສົມມຸດວ່າທ່ານມີວຽກທີ່ໄດ້ ກຳ ນົດໄວ້ (ເຊັ່ນ: ສະຄິບ ສຳ ຮອງ) ເພື່ອ ດຳ ເນີນການໂດຍໃຊ້ cron ທຸກໆທ່ຽງຄືນ, ອາດຈະເປັນເວລາທີ່ທ່ານນອນຫລັບ, ແລະ desktop/laptop ຂອງທ່ານຖືກປິດໃນເວລານັ້ນ. ສະຄິບ ສຳ ຮອງຂອງທ່ານຈະບໍ່ຖືກ ດຳ ເນີນການ.

ເຖິງຢ່າງໃດກໍ່ຕາມ, ຖ້າທ່ານໃຊ້ anacron, ທ່ານສາມາດ ໝັ້ນ ໃຈໄດ້ວ່າໃນເວລາຕໍ່ມາທ່ານຈະລົງເທິງ desktop/laptop ອີກຄັ້ງ, ສະຄິບ ສຳ ຮອງຈະຖືກປະຕິບັດ.

ເຮັດແນວໃດ Anacron ເຮັດວຽກໃນ Linux

ວຽກງານ anacron ແມ່ນມີລາຍຊື່ຢູ່ໃນ/etc/anacrontab ແລະວຽກສາມາດຖືກ ກຳ ນົດໂດຍໃຊ້ຮູບແບບຂ້າງລຸ່ມນີ້ (ຄຳ ເຫັນພາຍໃນເອກະສານ anacrontab ຕ້ອງເລີ່ມຕົ້ນດ້ວຍ #).

period   delay   job-identifier   command

ຈາກຮູບແບບຂ້າງເທິງ:

  • ໄລຍະເວລາ - ນີ້ແມ່ນຄວາມຖີ່ຂອງການປະຕິບັດວຽກທີ່ລະບຸໄວ້ເປັນມື້ຫຼືເປັນ @daily, @weekly, ຫຼື @monthly ສຳ ລັບ 1 ຄັ້ງຕໍ່ມື້, ອາທິດ, ຫລືເດືອນ. ທ່ານຍັງສາມາດໃຊ້ຕົວເລກໄດ້: 1 - ປະ ຈຳ ວັນ, 7 - ອາທິດ, 30 - ເດືອນແລະ N - ເລກວັນ.
  • ຊັກຊ້າ - ມັນແມ່ນ ຈຳ ນວນນາທີທີ່ຕ້ອງລໍຖ້າກ່ອນ ດຳ ເນີນວຽກໃດ ໜຶ່ງ.
  • job-id - ມັນແມ່ນຊື່ທີ່ແຕກຕ່າງ ສຳ ລັບວຽກທີ່ຂຽນໄວ້ໃນແຟ້ມເອກະສານບັນທຶກ.

ເພື່ອເບິ່ງເອກະສານຕົວຢ່າງ, ໃຫ້ພິມ:

$ ls -l /var/spool/anacron/

total 12
-rw------- 1 root root 9 Jun  1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly

    ຄຳ ສັ່ງ
  • - ມັນແມ່ນ ຄຳ ສັ່ງຫລື ຄຳ ສັ່ງຫອຍທີ່ຕ້ອງປະຕິບັດ.

  • Anacron ຈະກວດກາເບິ່ງວ່າວຽກໃດ ໜຶ່ງ ໄດ້ຖືກປະຕິບັດພາຍໃນເວລາທີ່ ກຳ ນົດໃນພາກສະ ໜາມ. ຖ້າບໍ່, ມັນປະຕິບັດ ຄຳ ສັ່ງທີ່ລະບຸໄວ້ໃນສະ ໜາມ ບັນຊາຫຼັງຈາກລໍຖ້າ ຈຳ ນວນນາທີທີ່ລະບຸໄວ້ໃນສະ ໜາມ ຊັກຊ້າ.
  • ເມື່ອວຽກໄດ້ຖືກປະຕິບັດແລ້ວ, ມັນຈະບັນທຶກວັນທີໃນແຟ້ມ timestamp ໃນໄດເລກະທໍລີ/var/spool/anacron ພ້ອມຊື່ທີ່ລະບຸໄວ້ໃນບ່ອນເຮັດວຽກ - id (ຊື່ໄຟລ໌ timestamp).

ຕອນນີ້ໃຫ້ເບິ່ງຕົວຢ່າງ. ສິ່ງນີ້ຈະ ດຳ ເນີນການຕົວ ໜັງ ສື /home/aaronkilik/bin/backup.sh ທຸກໆວັນ:

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh

ຖ້າເຄື່ອງຖືກປິດເມື່ອວຽກ backup.sh ຄາດວ່າຈະໃຊ້ງານ, anacron ຈະເຮັດວຽກໄດ້ພາຍໃນ 10 ນາທີຫຼັງຈາກເຄື່ອງຖືກເປີດໃຊ້ໂດຍບໍ່ຕ້ອງລໍຖ້າອີກ 7 ມື້.

ມັນມີສອງຕົວແປທີ່ ສຳ ຄັນໃນເອກະສານ anacrontab ທີ່ທ່ານຄວນເຂົ້າໃຈ:

  • START_HOURS_RANGE - ນີ້ ກຳ ນົດຊ່ວງເວລາທີ່ວຽກຈະເລີ່ມຕົ້ນ (ຂ້ອຍປະຕິບັດວຽກໃນຊົ່ວໂມງຕໍ່ໄປເທົ່ານັ້ນ).
  • RANDOM_DELAY - ນີ້ ກຳ ນົດການເລື່ອນເວລາແບບສຸ່ມສູງສຸດທີ່ເພີ່ມເຂົ້າໃນການ ກຳ ນົດການລ່າຊ້າຂອງຜູ້ໃຊ້ທີ່ ກຳ ນົດໄວ້ (ໂດຍຄ່າເລີ່ມຕົ້ນແມ່ນ 45 ປີ).

ນີ້ແມ່ນວິທີການທີ່ເອກະສານ anacrontab ຂອງທ່ານອາດຈະຄ້າຍຄື.

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly

@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh                                                                      

ຕໍ່ໄປນີ້ແມ່ນການປຽບທຽບຂອງ cron ແລະ anacron ເພື່ອຊ່ວຍໃຫ້ທ່ານເຂົ້າໃຈເວລາທີ່ຈະໃຊ້ມັນ.

ຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນລະຫວ່າງ cron ແລະ anacron ແມ່ນວ່າ cron ເຮັດວຽກຢ່າງມີປະສິດທິຜົນກັບເຄື່ອງຈັກທີ່ຈະ ດຳ ເນີນການຕໍ່ເນື່ອງໃນຂະນະທີ່ anacron ມີຈຸດປະສົງ ສຳ ລັບເຄື່ອງຈັກທີ່ຈະຖືກ ນຳ ໃຊ້ໃນມື້ຫລືອາທິດ.

ຖ້າທ່ານຮູ້ວິທີອື່ນ, ແບ່ງປັນກັບພວກເຮົາໂດຍໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.