Skip to main content

Paano Upang I-edit ang File ng Linux Crontab Upang Mag-iskedyul ng Trabaho

HOW TO INSERT SD CARD IN SAMSUNG GALAXY J2 PRIME (Abril 2025)

HOW TO INSERT SD CARD IN SAMSUNG GALAXY J2 PRIME (Abril 2025)
Anonim

Ang isang demonyo sa Linux ay tinatawag cron Nagpapatakbo ng mga proseso sa regular na mga agwat. Sinusuri nito ang ilang mga folder sa iyong system para sa mga script na tatakbo sa isang serye ng mga folder kabilang ang /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, at /etc/cron.monthly. Mayroon ding isang file na tinatawag na / etc / crontab.

Paglalagay ng mga Script sa Mga Folder ng Cron

Maaari mo lamang ilagay ang mga script sa mga kaugnay na folder upang makuha ang mga ito upang magpatakbo ng isang regular na mga agwat.

Halimbawa, buksan ang isang terminal window at patakbuhin ang sumusunod na command na ls:

ls / etc / cron *

Makikita mo ang listahan ng mga programa o mga script na pinapatakbo ng oras-oras, araw-araw, lingguhan, at buwanang.

Ang problema sa mga folder na ito ay ang mga ito ay isang medyo hindi malinaw. Halimbawa, araw-araw nangangahulugan na ang script ay tatakbo nang isang beses sa isang araw ngunit wala kang kontrol sa oras na ang script ay tatakbo sa araw na iyon.

Iyon ay kung saan ang crontab file ay dumating sa.

Sa pamamagitan ng pag-edit ng crontab file maaari kang makakuha ng isang script o programa upang tumakbo sa eksaktong petsa at oras na gusto mo itong patakbuhin.

Mga Pahintulot

Ang command crontab ay nangangailangan na ang isang user ay may pahintulot na mag-edit ng isang crontab file. Mayroong dalawang pangunahing mga file na ginagamit upang pamahalaan ang mga pahintulot ng crontab:

  • /etc/cron.allow
  • /etc/cron.deny

Kung ang file /etc/cron.allow ay umiiral, ang user na gustong i-edit ang crontab file ay dapat na nasa file na iyon. Kung ang cron.allow file ay hindi umiiral ngunit may isang /etc/cron.deny file at pagkatapos ay ang user ay hindi dapat na umiiral sa file na iyon. Kung ang parehong mga file ay umiiral, ang /etc/cron.allow ay pinapalitan ang /etc/cron.deny file. Kung walang file na umiiral, ito ay depende sa pagsasaayos ng system kung ang isang user ay maaaring mag-edit ng crontab.

Ang root user ay maaaring palaging i-edit ang crontab file. Maaari mong gamitin ang su command upang lumipat sa root user o sa sudo command upang patakbuhin ang crontab command.

Pag-edit ng File ng Crontab

Ang bawat user na may naaangkop na mga pahintulot ay maaaring lumikha ng kanilang sariling crontab file. Ang cron command ay karaniwang naghahanap ng lahat ng mga file ng crontab at tumatakbo sa bawat isa sa kanila.

Upang suriin kung mayroon kang isang crontab file patakbuhin ang sumusunod na command:

crontab -l

Kung wala kang isang file na crontab ang mensahe na "walang crontab para sa "lilitaw, kung hindi man ay ipapakita ang iyong crontab file (ang pag-andar na ito ay naiiba mula sa sistema patungo sa sistema, kung minsan ito ay nagpapakita ng wala sa lahat at iba pang mga oras na ipinapakita nito," huwag i-edit ang file na ito ").

Upang gumawa o mag-edit ng isang crontab file patakbuhin ang sumusunod na command:

crontab -e

Ang file na bubukas ay may maraming impormasyon ngunit ang pangunahing bahagi ay ang halimbawa bago ang pagtatapos ng seksyon ng mga komento (ang mga komento ay tinutukoy ng mga linya na nagsisimula sa #).

# m h ung dow command

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Mayroong 6 na piraso ng impormasyon upang magkasya sa bawat linya ng file na crontab:

  • Ang minuto ng araw na ang utos ay tumakbo (m)
  • Ang oras ng araw na ang utos ay tumakbo (h)
  • Ang araw ng buwan ang utos ay upang tumakbo (dom)
  • Ang buwan ang utos ay upang tumakbo (mon)
  • Ang araw ng linggo ang utos ay tumakbo (dow)
  • Ang utos

Para sa bawat item (maliban sa command) maaari mong tukuyin ang isang wildcard na character. Tingnan ang sumusunod na halimbawa ng crontab line:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Sa loob ng 30 minuto, 18 oras at anumang araw, buwan at araw ng linggo, ang crontab entry na ito ay mag-zip at mag-tar sa direktoryo ng tahanan sa folder ng / var / backups.

Upang makakuha ng isang command na tumakbo sa 30 minuto nakaraan bawat oras, patakbuhin ang sumusunod na command:

30 * * * * command

Upang makakuha ng isang command na tumakbo bawat minuto nakalipas 6 p.m., patakbuhin ang sumusunod na command:

* 18 * * * command

Dapat mong maging maingat tungkol sa pag-set up ng iyong mga crontab command.

Halimbawa:

* * * 1 * command

Ang utos na ito ay tatakbo bawat minuto ng bawat oras ng bawat araw ng bawat linggo sa Enero.

Upang magpatakbo ng isang command sa 5 ng umaga sa ika-1 ng Enero nais mo sa sumusunod na command sa crontab file:

0 5 1 1 * command

Paano Upang Alisin ang Isang Crontab File

Karamihan sa mga oras na hindi mo nais na alisin ang crontab file ngunit maaari mong alisin ang ilang mga hilera mula sa crontab file.

Gayunpaman, kung nais mong alisin ang file ng crontab ng iyong user patakbuhin ang sumusunod na command:

crontab -r

Ang isang mas ligtas na paraan upang gawin ito ay upang patakbuhin ang sumusunod na command:

crontab -i

Humihingi ng pag-verify ang operating system bago ito alisin ang crontab file.