ວິທີການແກ້ໄຂໄຟລ໌ Linux Crontab ໃນຕາຕະລາງວຽກ

ການນໍາສະເຫນີ

ມີ daemon ໃນ Linux ທີ່ເອີ້ນວ່າ cron ເຊິ່ງໃຊ້ໃນການດໍາເນີນຂະບວນການໃນໄລຍະປະກະຕິ.

ວິທີທີ່ມັນເຮັດນີ້ແມ່ນເພື່ອກວດເບິ່ງໂຟເດີບາງຢ່າງໃນລະບົບຂອງທ່ານສໍາລັບສະຄິບທີ່ຈະດໍາເນີນການ. ຕົວຢ່າງມີໂຟເດີທີ່ເອີ້ນວ່າ /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly ແລະ /etc/cron.monthly. ນອກນັ້ນຍັງມີໄຟລ໌ທີ່ເອີ້ນວ່າ / etc / crontab.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ທ່ານພຽງແຕ່ສາມາດຈັດໃສ່ສະຄິບເຂົ້າໃນໂຟເດີທີ່ກ່ຽວຂ້ອງເພື່ອໃຫ້ພວກເຂົາດໍາເນີນການໄລຍະເວລາເປັນປົກກະຕິ.

ຕົວຢ່າງເປີດ window terminal (ໂດຍກົດ CTRL, ALT ແລະ T) ແລະດໍາເນີນການ ຄໍາສັ່ງ ls ດັ່ງຕໍ່ໄປນີ້:

ls / etc / cron *

ທ່ານຈະເຫັນບັນຊີລາຍຊື່ຂອງໂຄງການຫຼືອັກສອນທີ່ກໍາລັງດໍາເນີນການຊົ່ວໂມງ, ປະຈໍາວັນ, ປະຈໍາອາທິດແລະລາຍເດືອນ.

ບັນຫາທີ່ມີແຟ້ມເຫຼົ່ານີ້ແມ່ນວ່າພວກເຂົາເປັນຄວາມບົກພ່ອງນ້ອຍ. ຕົວຢ່າງເຊັ່ນປະຈໍາວັນຫມາຍຄວາມວ່າ script ຈະດໍາເນີນການຕໍ່ມື້ແຕ່ວ່າທ່ານບໍ່ສາມາດຄວບຄຸມເວລາທີ່ script ຈະດໍາເນີນໃນມື້ນັ້ນ.

ນັ້ນແມ່ນບ່ອນທີ່ໄຟລ໌ crontab ມາ.

ໂດຍການດັດແກ້ໄຟລ໌ crontab ທ່ານສາມາດໄດ້ຮັບການ script ຫຼືໂຄງການທີ່ຈະດໍາເນີນການໃນວັນທີທີ່ແນ່ນອນແລະເວລາທີ່ທ່ານຕ້ອງການໃຫ້ມັນເຮັດວຽກ. ຕົວຢ່າງເຊັ່ນທ່ານຕ້ອງການສໍາຮອງໄຟລ໌ຂອງທ່ານທຸກຄືນເວລາ 6 ໂມງແລງ.

Permissions

ຄໍາສັ່ງ crontab ຮຽກຮ້ອງໃຫ້ຜູ້ໃຊ້ມີສິດໃນການແກ້ໄຂໄຟລ໌ crontab. ມີພື້ນຖານສອງໄຟລ໌ທີ່ຖືກນໍາໃຊ້ເພື່ອຈັດການການອະນຸຍາດ crontab:

ຖ້າໄຟລ໌ /etc/cronallow ມີຢູ່ແລ້ວຜູ້ໃຊ້ທີ່ຕ້ອງການແກ້ໄຂໄຟລ໌ crontab ຕ້ອງຢູ່ໃນໄຟລ໌ນັ້ນ. ຖ້າໄຟລ໌ cronallow ບໍ່ມີແຕ່ມີໄຟລ໌ /etc/cron.deny ຫຼັງຈາກນັ້ນຜູ້ໃຊ້ບໍ່ຕ້ອງມີຢູ່ໃນແຟ້ມນັ້ນ.

ຖ້າໄຟລ໌ທັງສອງມີຢູ່ແລ້ວ, /etc/cronallow overrides ໄຟລ໌ /etc/cron.deny.

ຖ້າມີໄຟລ໌ໃດກໍ່ຕາມມັນກໍ່ຂຶ້ນຢູ່ກັບການຕັ້ງຄ່າລະບົບທີ່ວ່າຜູ້ໃຊ້ສາມາດແກ້ໄຂ crontab ໄດ້.

ຜູ້ໃຊ້ຮາກສາມາດແກ້ໄຂໄຟລ໌ crontab ໄດ້. ທ່ານສາມາດໃຊ້ ຄໍາສັ່ງ su ເພື່ອສະຫຼັບກັບຜູ້ໃຊ້ຮາກຫຼື sudo command to run ຄໍາສັ່ງ crontab.

ການແກ້ໄຂໄຟລ໌ Crontab

ຜູ້ໃຊ້ແຕ່ລະຄົນທີ່ມີສິດອະນຸຍາດສາມາດສ້າງໄຟລ໌ crontab ຂອງຕົນເອງ. ຄໍາສັ່ງ cron ໂດຍພື້ນຖານແລ້ວເບິ່ງສໍາລັບການທີ່ມີຢູ່ແລ້ວຂອງໄຟລ໌ crontab ຫຼາຍແລະແລ່ນຜ່ານພວກເຂົາທັງຫມົດ.

ເພື່ອກວດເບິ່ງວ່າທ່ານມີໄຟລ໌ crontab ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:

crontab-l

ຖ້າທ່ານບໍ່ມີໄຟລ໌ crontab ຂໍ້ຄວາມ "no crontab ສໍາລັບ " ຈະປາກົດຂຶ້ນຖ້າບໍ່ດັ່ງນັ້ນໄຟລ໌ crontab ຂອງທ່ານຈະຖືກສະແດງຂຶ້ນ (ຫນ້າທີ່ນີ້ແຕກຕ່າງຈາກລະບົບກັບລະບົບ, ບາງຄັ້ງມັນຈະບໍ່ສະແດງຫຍັງເລີຍແລະເວລາອື່ນມັນຈະສະແດງ " ບໍ່ແກ້ໄຂໄຟລ໌ນີ້ ").

ການສ້າງຫຼືແກ້ໄຂໄຟລ໌ crontab ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:

crontab-e

ໂດຍຄ່າເລີ່ມຕົ້ນຖ້າບໍ່ມີຕົວແກ້ໄຂເລີ່ມຕົ້ນທີ່ເລືອກຫຼັງຈາກນັ້ນທ່ານຈະໄດ້ຮັບການຮ້ອງຂໍໃຫ້ເລືອກເອົາບັນນາທິການໃນຕອນຕົ້ນທີ່ຈະໃຊ້. ສ່ວນບຸກຄົນຂ້ອຍມັກໃຊ້ nano ເພາະວ່າມັນກົງກັນຂ້າມກັບການໃຊ້ແລະມັນແລ່ນອອກມາຈາກປາຍທາງ.

ໄຟລ໌ທີ່ເປີດຂຶ້ນມີຂໍ້ມູນຫຼາຍຢ່າງແຕ່ສ່ວນທີ່ສໍາຄັນແມ່ນຕົວຢ່າງກ່ອນທີ່ຈະສິ້ນສຸດພາກສ່ວນຄໍາເຫັນ (ຄໍາເຫັນຖືກຫມາຍໂດຍສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍ #).

# mh dom mon dow command

0 5 * * 1 tar -zcf / var / backups / hometgz / home /

ມີ 6 ຂໍ້ມູນທີ່ເຫມາະສົມໃນແຕ່ລະບັນທັດຂອງໄຟລ໌ crontab:

ສໍາລັບແຕ່ລະລາຍການ (ຍົກເວັ້ນສໍາລັບຄໍາສັ່ງ) ທ່ານສາມາດລະບຸຕົວອັກສອນຕົວແທນ. ເບິ່ງຕົວຢ່າງຕໍ່ໄປນີ້: crontab line:

30 18 * * * tar -zcf / var / backups / hometgz / home /

ຄໍາສັ່ງຂ້າງເທິງນີ້ບອກວ່າຢູ່ທີ່ 30 ນາທີ, 18 ຊົ່ວໂມງແລະທຸກໆມື້, ເດືອນແລະມື້ຂອງອາທິດ, ດໍາເນີນການຄໍາສັ່ງທີ່ຈະ zip ແລະ tar directory home ຢູ່ໂຟເດີ / var / backups.

ເພື່ອໃຫ້ຄໍາສັ່ງທີ່ຈະດໍາເນີນການຢູ່ 30 ນາທີຜ່ານມາທຸກໆຊົ່ວໂມງຂ້ອຍສາມາດດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:

30 * * * * ຄໍາສັ່ງ

ເພື່ອໃຫ້ໄດ້ຮັບຄໍາສັ່ງທີ່ຈະດໍາເນີນການທຸກໆນາທີທີ່ຜ່ານມາ 6 ໂມງແລງຂ້ອຍສາມາດດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:

* 18 * * * ຄໍາສັ່ງ

ດັ່ງນັ້ນທ່ານຈຶ່ງຕ້ອງລະວັງກ່ຽວກັບການຕັ້ງຄ່າຄໍາສັ່ງ crontab ຂອງທ່ານ.

ຕົວ​ຢ່າງ:

ຄໍາສັ່ງ * * * 1 *

ຄໍາສັ່ງຂ້າງເທິງນີ້ຈະດໍາເນີນທຸກໆນາທີຂອງທຸກໆຊົ່ວໂມງຂອງທຸກວັນຂອງທຸກອາທິດໃນເດືອນມັງກອນ. ຂ້າພະເຈົ້າສົງໃສວ່າແມ່ນສິ່ງທີ່ທ່ານຕ້ອງການ.

ເພື່ອດໍາເນີນການຄໍາສັ່ງຢູ່ທີ່ 5 am ໃນວັນທີ 1 ເດືອນມັງກອນທ່ານຈະຢູ່ໃນຄໍາສັ່ງຕໍ່ໄປນີ້ກັບໄຟລ໌ crontab:

0 5 1 1 * command

ວິທີການເອົາໄຟລ໌ Crontab

ສ່ວນໃຫຍ່ຂອງທີ່ໃຊ້ເວລາທີ່ທ່ານຈະບໍ່ຕ້ອງການເອົາໄຟລ໌ crontab ແຕ່ວ່າທ່ານອາດຈະຕ້ອງການເອົາແຖວເກັດທີ່ຢູ່ບາງຈາກໄຟລ໌ crontab.

ຢ່າງໃດກໍ່ຕາມຖ້າທ່ານຕ້ອງການເອົາໄຟລ໌ crontab ຂອງຜູ້ໃຊ້ຂອງທ່ານໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:

crontab-r

ວິທີທີ່ປອດໄພກວ່ານີ້ແມ່ນເພື່ອດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້:

crontab-i

ນີ້ຖາມຄໍາຖາມ "ທ່ານແນ່ໃຈບໍ?" ກ່ອນທີ່ຈະຖອນໄຟລ໌ crontab.