ການນໍາສະເຫນີ
ມີ 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
- /etc/crondeny
ຖ້າໄຟລ໌ /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-e
ໂດຍຄ່າເລີ່ມຕົ້ນຖ້າບໍ່ມີຕົວແກ້ໄຂເລີ່ມຕົ້ນທີ່ເລືອກຫຼັງຈາກນັ້ນທ່ານຈະໄດ້ຮັບການຮ້ອງຂໍໃຫ້ເລືອກເອົາບັນນາທິການໃນຕອນຕົ້ນທີ່ຈະໃຊ້. ສ່ວນບຸກຄົນຂ້ອຍມັກໃຊ້ nano ເພາະວ່າມັນກົງກັນຂ້າມກັບການໃຊ້ແລະມັນແລ່ນອອກມາຈາກປາຍທາງ.
ໄຟລ໌ທີ່ເປີດຂຶ້ນມີຂໍ້ມູນຫຼາຍຢ່າງແຕ່ສ່ວນທີ່ສໍາຄັນແມ່ນຕົວຢ່າງກ່ອນທີ່ຈະສິ້ນສຸດພາກສ່ວນຄໍາເຫັນ (ຄໍາເຫັນຖືກຫມາຍໂດຍສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍ #).
# mh dom mon dow command
0 5 * * 1 tar -zcf / var / backups / hometgz / home /
ມີ 6 ຂໍ້ມູນທີ່ເຫມາະສົມໃນແຕ່ລະບັນທັດຂອງໄຟລ໌ crontab:
- ນາທີຂອງມື້ຄໍາສັ່ງແມ່ນເພື່ອດໍາເນີນການ (m)
- ຊົ່ວໂມງຂອງມື້ຄໍາສັ່ງແມ່ນເພື່ອດໍາເນີນການ (h)
- ມື້ຂອງເດືອນຄໍາສັ່ງແມ່ນເພື່ອດໍາເນີນການ (dom)
- ເດືອນຄໍາສັ່ງແມ່ນເພື່ອດໍາເນີນການ (mon)
- ມື້ຂອງອາທິດຄໍາສັ່ງແມ່ນເພື່ອດໍາເນີນການ (dow)
- ຄໍາສັ່ງ
ສໍາລັບແຕ່ລະລາຍການ (ຍົກເວັ້ນສໍາລັບຄໍາສັ່ງ) ທ່ານສາມາດລະບຸຕົວອັກສອນຕົວແທນ. ເບິ່ງຕົວຢ່າງຕໍ່ໄປນີ້: 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.