Kasutage crontab Linuxi käsku, et automatiseerida mitmesuguseid igapäevaseid ja korduvaid ülesandeid, lihtsustades oma elu. See suurepärane ja hõlpsasti kasutatav tööriist koos mõne skriptimisega võimaldab mitte ainult automatiseerida igasuguseid ülesandeid, vaid aitab vältida lihtsaid inimlikke vigu või unustamist.

Siit saate teada, mis on crontab, kuidas lisada automatiseeritud töökohti, ja mõned näited reaalsest maailmast.

Mis on Crontab?

Crontab on deemonprotsess, mis töötab taustal peaaegu kõigis Linuxi masinates ja mida kasutatakse automatiseeritud ülesannete ajastamiseks ja täitmiseks määratud ajaintervallide tagant. Tarkvaraarendajad kasutavad seda sageli ka aeganõudvate toimingute taustal töötamiseks.

See võib olla mis tahes, sealhulgas, kuid mitte ainult, partiimeilide saatmine, oma Twitteri voo kontrollimine, varundamine või lihtsalt meeldetuletuse sooritamine.

Crontabi põhikäsklused

Igal masina Linuxi kasutajal on oma crontab-fail, mis sisaldab nende aktiivseid crontab-töid. Siin on mõned terminali põhikäsklused, mida kasutate crontabi faili vaatamiseks ja muutmiseks:

instagram viewer

  • crontab-l Loetlege kõik crontab-tööd.
  • crontab -e Muutke crontab-faili.
  • crontab -r Eemaldage crontab-failist kõik kirjed.

Ülaltoodud käsud on mõeldud praeguse kasutaja oma crontabi fail. Kui teil on vaja muuta mõne teise kasutaja crontab-faili, kasutage lihtsalt -u valik. Näiteks saate redigeerida jdoe kasutaja crontab-fail käsuga:

Ubuntu Linux: kasutajate lisamine rühmadesse ja nende eemaldamine lihtsal viisil

Kas soovite Ubuntu Linuxi kasutajaid paremini hallata? Vastus on gruppide loomine, seejärel kasutage Ubuntu kasutaja lisamise funktsiooni.

sudo crontab -ujdoe -e

Crontabi töökohtade vorming

Iga crontab-töö koosneb ühest reast ja on vormindatud järgmiselt:

MINUTITUNNI TUNNIPÄEV KUUS NÄDALAPÄEV

Allolevas tabelis selgitatakse crontab-töö erinevaid elemente:

Element Ranage Kirjeldus
Minut 0 - 59 Minut crontab-töö teostamiseks aadressil.
Tund 0 - 23 Tund aega, mil krontabotöö sooritatakse.
Päev 1 - 31 Kuu päev, kus krontabitöö saab täita aadressil.
Kuu 1 - 12 Kuu, mille jooksul tuleb crontab-töö täita.
Nädalapäev 0 - 6 Nädalapäev, kus crontab-töö täidetakse aadressil.
Käsk Kõik Linuxi käsud, mida saate terminalis täita.

Metamärgi tähistamiseks võite igal tärnil (*) kasutada tähemärki, mis tähendab, et crontab-töö täidetakse olenemata sellest ajaperioodist. Näiteks täidetakse allpool asuvat kontoritööd igal õhtul täpselt kell 3:20:

20 3 * * * /juur / varukoopia.sh

Mitu väärtust

Iga ajaperiood võib sisaldada ka mitut elementi. Täpsed väärtused saate täpsustada, eraldades need komaga, ja allpool esitatud kontosid täidetakse iga tunni järel kell 20 ja 50 minutit pärast tundi:

20,50 * * * * /path/to/command.sh

Kui soovite aga crontab-tööd teatud ajavahemike järel kasutada, võite kasutada teatud ajaperioodi jooksul */PERIOOD, ja allpool olev kontoritöö täidetakse automaatselt iga 15 tunni järel iga kolme tunni järel:

15 * / 3 * * * /path/to/command.sh

Crontabi töökohtade vaikne hoidmine

Kõik sõltuvalt võite soovida eemaldada kogu väljund crontab-töödelt, nii et need ei satuks teie süsteemi meilikausta. Seda saate teha lisades > / dev / null 2> & 1 igale crontab-tööle. Näiteks:

0 6 15 * * /path/to/backup.sh> / dev / null 2> & 1

Crontabi töökohtade lisamine

Üldiselt on crontab-tööde lisamiseks või muutmiseks kõige sagedamini kasutatav meetod crontab -e käsk. Käivitage terminalis see käsk:

crontab -e

See avab a tekstiredaktor nagu näiteks nano oma crontab-faili sisuga. Iga crontab-töö asub ühel real ja võite ridu vastavalt soovile lisada, muuta ja eemaldada. Kui olete valmis, salvestage ja sulgege fail, vajutades Ctrl + W, millele järgneb Y ja Sisenema võtmed, mis aktiveerivad kohe kõik failis olevad crontab-tööd.

Otsetee töökohtade lisamiseks

Crontab-faili käsitsi muutmise asemel on kiire lisakäsk, mida saate töö lisamiseks käivitada. Näiteks kui soovite lisada selle crontab-töö, mis töötab igal pühapäeval kell 14.00:

0 14 * * 0 / rada / kuni / käsu.sh

Töö saate oma crontab-faili lisada ühe käsuga:

(crontab -l; kaja "0 14 * * 0 /path/to/command.sh";) | crontab

Ülaltoodud käsk loetleb lihtsalt kõik teie crontabi failis olevad tööd, prindib uue töö ja sisestab kõik crontab selle sisu asendades.

Crontabi faili lisamine loendisse / eemaldamine

Kõigi teie crontab-failis praegu aktiivsete tööde loendit saate lisada käsuga:

crontab -l

Võite eemaldada ka kõik crontab-tööd ja tühjendada crontab-faili sisu käsuga:

crontab -r

Näide: Esita helid!

Kas vajate töö ajal kiiret meeldetuletust iga kahe tunni tagant, et aeg oleks möödas? Haara oma lemmik heliklipp peaaegu igas vormingus (.wav, .mp4, mis tahes muu) ja kui see on salvestatud aadressil (näiteks) /home/myuser/myalert.wav laske seda crontab-tööga automaatselt mängida:

0 * / 2 * * * aplay /home/myuser/myalert.wav

Kuidas oleks, kui annaksite nädala töölt mõnusa väljasaatmise, kui teie lemmiklaul mängiks igal reede pärastlõunal automaatselt kell 17.00? Haarake oma lemmiklaulu klipp ja kui see salvestatakse ütlemisel /home/myuser/friday_song.mp4 lisate crontab-töö:

0 17 * * 5 aplay /home/myuser/friday_song.mp4

Näide: Rsynciga varundatavad failid

Üks crontabi paljudest suurepärastest kasutusvõimalustest on võimalus oma failid automaatselt serverisse varundada. Vähendage sellega oluliselt riske kaotada olulised andmed uuesti suurepärane rsynciõpetus.

Näide: kontrollige, kas saidid on võrgus

Võib-olla soovite iga viie minuti järel automaatselt kontrollida, kas erinevad saidid on võrgus või mitte, ja teavitada teid e-posti teel, kui mõni neist on maas. Siin on suurepärane väike PHP-skript, mis seda teeb.


php
// e-posti aadress, et teavitada saitidest, mis on allpool
$ email = '[email protected]';
// Määrake kontrollimiseks URL-id
$ urls = [< br /> ' https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// Sirvige URL-e
$ down = [];
foreach ($ url kui $ url) {
// Kontrollige URL-i
$ status = check_url ($ url);
if ($ status! = 200) {
$ alla [] = $ url;
}
}
// saatke e-kiri, kui meil pole saite
if (arv ($ alla)> 0) {
kiri ($ meil, "Kiireloomuline - Sites Down!", "Teie bot on tuvastanud, et järgmised saidid on praegu maas:
". implode ("
", $ alla));
}
// Exit
exit (0);
/ **
* Kontrollige URL-i < br /> * /
funktsiooni check_url (string $ url): int
{
// Saada saidil cURL
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, true);
$ response = curl_exec ($ ch);
// Hangi olek ja sulgege ühendus
$ status = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);
curl_close ($ ch);
// Return
return $ status;
}

Muutke faili ülaosas kontrollimiseks lihtsalt e-posti aadressi ja soovitud URL-e ning salvestage see kuskil nagu /home/myuser/check_sites.php . Selle skripti käivitamiseks iga viie minuti tagant ja e-posti teel teavitamise kohta kõigi saitide kohta, mis on maas, lisage crontab-töö: / usr / bin / php /home/myuser/check_sites.php> / dev / null 2> & 1

​​Automatiseeri oma elu!

Selle artikliga te on loodetavasti mõistnud crontabi automatiseerimisjõudu ja kuidas seda saab kasutada paljude teie igapäevaste ja korduvate ülesannete automatiseerimiseks elu.

Olete õppinud, mis on crontab, crontab-faili kohta, kuidas crontab-i töid vormindatakse, ja mõned reaalse maailma näited selle kohta, kuidas seda kasutada.

4 Linuxi automaatika rakendused ülesannete ja töövoogude sujuvamaks muutmiseks

Kas soovite säästa aega ja vältida korduvaid ülesandeid? Vastus on automatiseerimine! Siin on mõned kasulikud Linuxi töölauaautomaatika rakendused, mida proovida.

Seotud Teemad
  • Programmeerimine
  • Linux
Teave Autor
Matt Dizak (13 artiklit Avaldatud)
rohkem Matt Dizakilt

Telli meie Infoleht

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm!!!

Kinnitage palun oma e-posti aadress meilisõnum, mille just teile saatsime.

.