Pasinaudokite „crontab Linux“ komandos pranašumais, kad automatizuotumėte įvairias kasdieniškas ir pasikartojančias užduotis, supaprastindami savo gyvenimą. Šis puikus ir lengvai naudojamas įrankis kartu su kai kuriais scenarijais gali ne tik automatizuoti įvairiausias užduotis, bet ir padėti išvengti paprastų žmogaus klaidų ar užmaršumo.

Čia sužinosite, kas yra „crontab“, kaip pridėti automatizuotų darbų ir keletą realaus pasaulio pavyzdžių.

Kas yra „Crontab“?

„Crontab“ yra „daemon“ procesas, vykdomas fone beveik visose „Linux“ mašinose ir naudojamas planuoti ir vykdyti automatines užduotis nustatytais laiko intervalais. Programinės įrangos kūrėjai taip pat dažnai naudoja daug laiko reikalaujančioms užduotims vykdyti fone.

Tai gali būti viskas, įskaitant, bet neapsiribojant, paketinių el. Laiškų siuntimą, „Twitter“ informacijos santraukos tikrinimą, atsarginių kopijų kūrimą ar tiesiog priminimą.

Pagrindinės „Crontab“ komandos

Kiekvienas „Linux“ vartotojas kompiuteryje turi savo „crontab“ failą, kuriame yra jų aktyvūs „crontab“ darbai. Čia yra keletas pagrindinių terminalo komandų, kurias naudosite norėdami peržiūrėti ir modifikuoti crontab failą:

instagram viewer

  • crontab-l Išvardinkite visus „crontab“ darbus.
  • crontab -e Redaguokite crontab failą.
  • crontab -r Pašalinkite visus įrašus iš „crontab“ failo.

Aukščiau nurodytos komandos bus skirtos dabartinio vartotojo crontab failas. Jei reikia modifikuoti kito vartotojo crontab failą, tiesiog naudokite -u variantą. Pavyzdžiui, galite redaguoti jdoe vartotojo crontab failas su komanda:

„Ubuntu Linux“: lengvai pridėkite ir pašalinkite vartotojus prie grupių

Norite geriau valdyti „Ubuntu Linux“ vartotojus? Atsakymas yra sukurti grupes, tada naudoti „Ubuntu add user“ funkciją.

sudo crontab -ujdoe -e

„Crontab“ darbų formatas

Kiekvienas „crontab“ darbas susideda iš vienos eilutės ir yra suformatuotas taip:

MINUTĖS VALANDOS DIENA MĖNESIO SAVAITĖS DIENOS KOMANDA

Žemiau esančioje lentelėje paaiškinami įvairūs „crontab“ darbo elementai:

Elementas Ranage apibūdinimas
Minutė 0 - 59 Minutė, skirta atlikti „crontab“ darbą.
Valanda 0 - 23 Valanda, skirta atlikti „crontab“ darbą.
Diena 1 - 31 Mėnesio diena, kai reikia atlikti „crontab“ darbą.
Mėnuo 1 - 12 Mėnuo, per kurį reikia atlikti „crontab“ darbą.
Darbo diena 0 - 6 Savaitės diena, kai reikia atlikti „crontab“ darbą.
Komanda Bet kuri „Linux“ komanda, kurią galite atlikti terminale.

Bet kuriame lauke galite naudoti žvaigždutę (*), kad pažymėtumėte pakaitos simbolį, o tai reiškia, kad crontab darbas bus vykdomas neatsižvelgiant į tą laikotarpį. Pavyzdžiui, žemiau pateiktas „crontab“ darbas bus vykdomas kiekvieną vakarą tiksliai 3:20 val.

20 3 * * * / šaknis / atsarginė kopija

Kelios vertybės

Kiekvienas laikotarpis taip pat gali apimti kelis elementus. Galite nurodyti tikslias vertes, atskirdami jas kableliais, o žemiau pateiktas „crontab“ darbas bus vykdomas kas valandą 20 ir 50 minučių po valandos:

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

Tačiau jei norite atlikti „crontab“ užduotį tam tikrais intervalais per tam tikrą laikotarpį, kurį galite naudoti * / LAIKOTARPISir toliau pateiktas „crontab“ darbas bus automatiškai vykdomas 15 minučių per valandą kas tris valandas:

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

Kad „Crontab“ darbai būtų ramūs

Priklausomai nuo to, galbūt norėsite pašalinti visą išvestį iš „crontab“ užduočių, kad jos nepatektų į jūsų sistemos pašto aplanką. Tai galite padaryti pridėdami > / dev / null 2> & 1 į bet kurį „crontab“ darbą. Pavyzdžiui:

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

Pridedami „Crontab“ darbai

Paprastai dažniausiai naudojamas „crontab“ užduočių pridėjimo ar modifikavimo būdas yra crontab -e komandą. Paleiskite šią komandą terminale:

crontab -e

Tai atvers a teksto redaktorius toks kaip nano su jūsų crontab failo turiniu. Kiekviena „crontab“ užduotis yra vienoje eilutėje, ir jūs galite pridėti, modifikuoti ir pašalinti eiles pagal norą. Baigę išsaugokite ir uždarykite failą paspausdami „Ctrl“ + W, po kurio seka Y ir Įveskite klavišus, kurie iškart suaktyvins visus failo crontab darbus.

Spartusis klavišas pridėti darbo vietas

Užuot rankiniu būdu keisdami „crontab“ failą, galite paleisti greitą komandą, kad pridėtumėte darbą. Pvz., Jei norite pridėti šį „crontab“ darbą, kuris vykdomas kiekvieną sekmadienį 14:00 val.:

0 14 * * 0 /path/to/command.sh

Užduotį galite pridėti prie savo crontab failo naudodami vieną komandą:

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

Pirmiau pateiktoje komandoje paprasčiausiai išvardijamos visos jūsų crontab faile esančios užduotys, išspausdinama nauja užduotis ir viskas perkeliama crontab pakeisdamas jo turinį.

„Crontab“ failo įtraukimas į sąrašą / pašalinimas

Visus šiuo metu jūsų crontab faile aktyvius darbus galite išvardyti naudodami komandą:

crontab -l

Taip pat galite pašalinti visas „crontab“ užduotis ir ištuštinti „crontab“ failo turinį naudodami komandą:

crontab -r

Pavyzdys: „Play Sounds“!

Dirbant reikia greitai priminti kas dvi valandas, kad žinotumėte, jog praėjo laikas? Griebkite savo mėgstamą garso įrašą beveik bet kokiu formatu (.wav, .mp4, bet kuo) ir, jei jis išsaugotas (pvz.,) /home/myuser/myalert.wav ar jis automatiškai žaidžiamas naudojant „crontab“ užduotį:

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

Kaip būtų, jei maloniai atsiųstumėte savaitės darbą, kai mėgstama daina automatiškai groja kiekvieną penktadienio popietę 17:00? Griebkite mėgstamą dainos klipą ir, jei išsaugosite, sakykime /home/myuser/friday_song.mp4 pridėtumėte crontab darbą:

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

Pavyzdys: Atsarginių failų naudojimas naudojant „Rsync“

Vienas iš daugelio puikių „crontab“ naudojimo būdų yra galimybė automatiškai kurti atsargines failų kopijas į nuotolinį serverį. Tai žymiai sumažins riziką, kad kada nors vėl prarasite svarbius duomenis puiki „rsync“ pamoka.

Pavyzdys: patikrinkite, ar svetainės yra prisijungę

Galbūt norite kas penkias minutes automatiškai patikrinti, ar įvairios svetainės yra prisijungusios, ar ne, ir pranešti el. Paštu, jei jų nėra. Štai puikus mažas PHP scenarijus, kuris tai ir padarys.


php
// El. pašto adresas, skirtas pranešti apie žemyn esančias svetaines. br /> ' https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// Peržiūrėkite URL adresus
$ down = [];
foreach ($ urls as $ url) {
// Check URL
$ status = check_url ($ url);
if ($ status! = 200) {
$ žemyn [] = $ url;
}
}
// Siųsti el. laišką, jei mes neturime svetainių
if (count ($ down)> 0) {
mail ($ paštas, „Skubu - žemyn!“, „Jūsų robotas aptiko šias svetaines šiuo metu neveikia:
". implode ("
", $ down));
}
// Išeiti
exit (0);
/ **
* Patikrinkite URL < br /> * /
funkcijos check_url (eilutė $ url): int
{
// Siųsti per 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);
// Gauti būseną ir uždaryti ryšį
$ status = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);
curl_close ($ ch);
// Grįžti
return $ status;
}

Tiesiog pakeiskite el. Pašto adresą ir norimus URL, kad patikrintumėte failo viršuje, ir išsaugokite tai kažkur pvz /home/myuser/check_sites.php . Jei norite, kad šis scenarijus būtų paleistas kas penkias minutes ir el. Paštu praneštų apie visas neveikiančias svetaines, pridėkite „crontab“ užduotį:

  * / 5 * * * * / usr / bin / php /home/myuser/check_sites.php> / dev / null 2> & 1  

Automatizuokite savo gyvenimą!

Su šiuo straipsniu jūs tikimės, kad supras „crontab“ automatikos galią ir kaip ją galima naudoti norint automatizuoti daugybę kasdienių ir pasikartojančių užduočių jūsų gyvenimo.

Sužinojote, kas yra „crontab“, apie „crontab“ failą, kaip formatuojami „crontab“ darbai ir keletas realių pavyzdžių, kaip jį galima panaudoti.

4 „Linux Automation Apps“, kad supaprastintumėte savo užduotis ir darbo eigą

Norite sutaupyti laiko ir išvengti pasikartojančių užduočių? Atsakymas yra automatika! Čia yra keletas naudingų „Linux“ darbalaukio automatikos programų, kurias reikia išbandyti.

Susiję Temos
  • programavimas
  • Linux
Apie Autorius
Mattas Dizakas (13 straipsnių Paskelbta)
daugiau iš Matto Dizako

Užsiprenumeruokite mūsų Naujienlaiškis

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis!!!

Patvirtinkite savo el. pašto adresą laišką, kurį jums ką tik išsiuntėme.

.