Skip to main content

Kā rediģēt Linux Crontab failu, lai plānotu darbus

Anonim

Linux dēmons sauc cron regulāri veic procesus. Tā pārbauda dažas mapes jūsu sistēmā, lai skripti darbotos virknei mapju, ieskaitot /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly un /etc/cron.monthly. Ir arī fails ar nosaukumu / etc / crontab.

Scripts ievietošana Cron mapēs

Jūs varat vienkārši ievietot skriptus attiecīgajās mapēs, lai tās regulāri darbotos.

Piemēram, atveriet termināla logu un palaidiet šādu ls komandu:

ls / etc / cron *

Jūs redzēsiet programmu vai skriptu sarakstu, kas tiek izmantoti stundas, dienas, nedēļas un mēneša laikā.

Ar šīm mapēm saistītās problēmas ir tādas, ka tās ir mazliet neskaidras. Piemēram, katru dienu nozīmē, ka skripts darbosies reizi dienā, bet jums nav laika kontroles, kad skripts darbosies šīs dienas laikā.

Tas ir, ja ir pieejams crontab fails.

Rediģējot crontab failu, jūs varat iegūt skriptu vai programmu, lai to izpildītu precīzā datumā un laikā, kad vēlaties to palaist.

Atļaujas

Komandai crontab nepieciešams, lai lietotājam būtu atļaujas rediģēt crontab failu. Pamatā ir divi faili, kurus izmanto, lai pārvaldītu crontab atļaujas:

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

Ja ir /etc/cron.allow fails, tad lietotājam, kurš vēlas rediģēt crontab failu, jābūt tajā failā. Ja cron.allow fails neeksistē, bet ir /etc/cron.deny fails, lietotājs nedrīkst pastāvēt šajā failā. Ja ir abi faili, /etc/cron.allow ignorē failu /etc/cron.deny. Ja nav neviena faila, tas atkarīgs no sistēmas konfigurācijas, vai lietotājs var rediģēt crontab.

Saknes lietotājs vienmēr var rediģēt crontab failu. Jūs varat vai nu izmantot komandu su, lai pārslēgtos uz root lietotāju vai komandu sudo, lai palaistu komandu crontab.

Crontab faila rediģēšana

Katrs lietotājs, kuram ir atbilstošas ​​atļaujas, var izveidot savu crontab failu. Cron komanda pamatā meklē visus crontab failus un iet caur katru no tiem.

Lai pārbaudītu, vai jums ir crontab fails, izpildiet šādu komandu:

crontab -l

Ja jums nav crontab faila, tiek parādīts ziņojums "no crontab for "parādīsies, pretējā gadījumā tiks parādīts jūsu crontab fails (šī funkcija atšķiras no sistēmas uz sistēmu, dažreiz tā neparāda neko, un citos gadījumos tas tiek rādīts," nestrādājiet šo failu ").

Lai izveidotu vai rediģētu crontab failu, izpildiet šādu komandu:

crontab-e

Atvērtajam failam ir daudz informācijas, bet galvenā daļa ir piemērs tieši pirms komentāru sadaļas beigām (komentāri tiek apzīmēti ar rindām, kas sākas ar #).

# m h dom mon dow komanda

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

Katrā crontab faila rindiņā ir 6 informācijas daļas:

  • Dienas, kad komanda ir jāgaida (m)
  • Dienas stunda, kurā komanda ir jāgaida (h)
  • Mēneša diena, kad komandai jābrauc (dom)
  • Mēnesis, kurā komandai jāstartē (mon)
  • Nedēļas diena komandai ir jāiet (dow)
  • Komanda

Par katru vienumu (izņemot komandu) varat norādīt aizstājējzīmi. Apskatiet nākamo piemēri crontab līnijai:

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

Pēc 30 minūtēm, 18 stundām un katru dienu, mēnesi un nedēļas dienu šis crontab ieraksts būs zip un mainīs direktoriju / var / backups mapē.

Lai komanda, kas darbotos 30 minūtes ik pēc stundas, palaistu šādu komandu:

30 * * * * komanda

Lai saņemtu komandu, kas palaista katru minūti pirms plkst. 6, palaidiet šādu komandu:

* 18 * * * komanda

Tāpēc jums ir jābūt uzmanīgiem, kā iestatīt crontab komandas.

Piemēram:

* * * 1 * komanda

Šī komanda darbosies katru minūti katru stundu no katras nedēļas katru dienu janvārī.

Lai palaistu komandu 1. janvāra plkst. 5:00, crontab failā atradīsit šādu komandu:

0 5 1 1 * komanda

Kā noņemt Crontab failu

Lielāko daļu laika jūs nevēlaties noņemt crontab failu, taču jūs varētu vēlēties izņemt dažas rindas no crontab faila.

Tomēr, ja vēlaties noņemt lietotāja crontab failu, izpildiet šādu komandu:

crontab -r

Drošāks veids, kā to izdarīt, ir palaist šādu komandu:

crontab-i

Operētājsistēma prasa verifikāciju, pirms tā noņem crontab failu.