Hyödynnä crontab Linux -komentoa automatisoidaksesi erilaisia ​​arkisia ja toistuvia tehtäviä, yksinkertaistaen elämääsi. Tämä erinomainen ja helppokäyttöinen työkalu yhdessä joidenkin komentosarjojen kanssa voi paitsi automatisoida kaikenlaisia ​​tehtäviä, myös auttaa välttämään yksinkertaisia ​​inhimillisiä virheitä tai unohduksia.

Täältä opit, mikä on crontab, kuinka lisätä automaattisia töitä, ja joitain todellisia esimerkkejä.

Mikä on Crontab?

Crontab on daemon-prosessi, joka toimii taustalla lähes kaikilla Linux-koneilla ja jota käytetään automatisoitujen tehtävien ajoitukseen ja suorittamiseen määrätyin aikavälein. Ohjelmistokehittäjät käyttävät sitä usein myös aikaa vievien tehtävien suorittamiseen taustalla.

Tämä voi olla mitä tahansa, mukaan lukien, mutta ei rajoittuen, eräkommenttien lähettäminen, Twitter-syötteen tarkistaminen, varmuuskopioiden tekeminen tai yksinkertaisesti muistutuksen suorittaminen.

Crontab-peruskomennot

Jokaisella koneen Linux-käyttäjällä on oma crontab-tiedosto, joka sisältää heidän aktiiviset crontab-työt. Tässä on joitain päätelaitteen komentoja, joita käytetään tarkastelemaan ja muokkaamaan crontab-tiedostoa:

instagram viewer

  • crontab-l Luettelo kaikista crontab-töistä.
  • crontab -e Muokkaa crontab-tiedostoa.
  • crontab -r Poista kaikki merkinnät crontab-tiedostosta.

Yllä olevat komennot ovat nykyisen käyttäjän crontab-tiedosto. Jos haluat muokata toisen käyttäjän crontab-tiedostoa, käytä vain -u vaihtoehto. Voit esimerkiksi muokata jdoe käyttäjän crontab-tiedosto komennolla:

Ubuntu Linux: Lisää ja poista käyttäjiä ryhmiin helposti

Haluatko hallita paremmin käyttäjiä Ubuntu Linuxissa? Vastaus on luoda ryhmiä ja käyttää sitten Ubuntu add user -ominaisuutta.

sudo crontab -ujdoe -e

Crontabin työpaikkojen muoto

Jokainen crontab-työ koostuu yhdestä rivistä ja se on muotoiltu seuraavasti:

MINUTTI TUNNIPÄIVÄ KUUKAIKA VIIKKOPÄIVÄKOMENTO

Alla olevassa taulukossa selitetään crontab-työn eri elementit:

Elementti Ranage Kuvaus
Minuutti 0 - 59 Minuutti suorittaa crontab-työ.
Tunnin 0 - 23 Tunti suorittaa crontab-työ kello.
Päivä 1 - 31 Kuukauden päivä suorittaa crontab-työ.
Kuukausi 1 - 12 Kuukausi suorittaa crontab-työ.
Arkipäivä 0 - 6 Viikonpäivä suorittaa crontab-työ.
Komento Mikä tahansa Linux-komento, jonka voit suorittaa päätelaitteessa.

Voit käyttää tähtiä (*) missä tahansa kentässä merkitsemään jokerimerkkiä, eli crontab-työ suoritetaan kyseisestä ajanjaksosta riippumatta. Esimerkiksi alla oleva crontab-työ suoritetaan joka ilta täsmälleen klo 3.20:

20 3 * * * /root/backup.sh

Useita arvoja

Jokainen ajanjakso voi sisältää myös useita elementtejä. Voit määrittää tarkat arvot erottamalla ne pilkulla, ja alla oleva crontab-työ suoritetaan joka tunti 20 ja 50 minuuttia tunnin jälkeen:

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

Jos kuitenkin haluat suorittaa crontab-työn tietyin väliajoin käytettävän ajanjakson aikana * / KAUSI, ja alla oleva crontab-työ suoritetaan automaattisesti 15 minuutin kuluttua kolmen tunnin välein:

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

Pidä Crontab-työt hiljaisena

Kaikesta riippuen saatat haluta poistaa kaikki lähdöt crontab-töistä, jotta ne eivät päädy järjestelmän postikansioon. Voit tehdä tämän liittämällä > / dev / null 2> & 1 mihin tahansa crontab-työhön. Esimerkiksi:

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

Crontabin työpaikkojen lisääminen

Yleensä käytetyin tapa lisätä tai muokata crontab-töitä on crontab -e komento. Suorita tämä komento terminaalissa:

crontab -e

Tämä avaa a tekstieditori kuten nano Crontab-tiedostosi sisällön kanssa. Jokainen crontab-työ sijaitsee yhdellä rivillä, ja voit lisätä, muokata ja poistaa rivejä haluamallasi tavalla. Kun olet valmis, tallenna ja sulje tiedosto painamalla Ctrl + W, jota seuraa Y ja Tulla sisään avaimet, jotka aktivoivat välittömästi kaikki tiedostossa olevat crontab-työt.

Pikakuvake työpaikkojen lisäämiseen

Sen sijaan, että muokkaat manuaalisesti crontab-tiedostoa, on yksi pikakomento, jonka voit suorittaa työn lisäämiseksi. Esimerkiksi, jos haluat lisätä tämän crontab-työn, joka toimii joka sunnuntai klo 14.00:

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

Voit lisätä työn crontab-tiedostoon yhdellä komennolla:

(crontab -l; kaiku "0 14 * * 0 /polku/to/komento.sh";) | crontab

Yllä oleva komento yksinkertaisesti listaa kaikki crontab-tiedostossa tällä hetkellä olevat työt, tulostaa uuden työn ja vie kaiken crontab korvaamalla sen sisältö.

Crontab-tiedoston luetteloiminen / poistaminen

Voit luetella kaikki crontab-tiedostossa tällä hetkellä aktiiviset työt komennolla:

crontab -l

Voit myös poistaa kaikki crontab-työt ja tyhjentää crontab-tiedoston sisällön komennolla:

crontab -r

Esimerkki: Toista ääniä!

Tarvitsetko nopean muistutuksen joka toinen tunti työskennellessäsi, jotta voit tietää, että aika on kulunut? Tartu suosikkileikkeesi melkein missä tahansa muodossa (.wav, .mp4, mikä tahansa) ja jos se on tallennettu (esimerkiksi) /home/myuser/myalert.wav anna sen pelata automaattisesti crontab-työllä:

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

Entä antaisi sinulle mukavan lähetyksen viikon työstä, kun suosikkikappaleesi soi automaattisesti joka perjantai-iltapäivällä kello 17.00? Tartu suosikkikappaleesi leikkeeseen ja tallenna se sanomalla /home/myuser/friday_song.mp4 lisäät crontab-työn:

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

Esimerkki: Varmuuskopiotiedostot Rsyncin avulla

Yksi crontabin monista erinomaisista käyttötavoista on kyky varmuuskopioida tiedostosi automaattisesti etäpalvelimelle. Vähennä merkittävästi riskiäsi menettää tärkeät tiedot uudelleen tällä erinomainen rsync-opetusohjelma.

Esimerkki: Tarkista, ovatko sivustot online-tilassa

Ehkä haluat tarkistaa automaattisesti viiden minuutin välein, ovatko eri sivustot verkossa vai eivät, ja saada ilmoituksen sähköpostitse, jos sellaisia ​​on. Tässä on hieno pieni PHP-komentosarja, joka tekee juuri sen.


php
// sähköpostiosoite ilmoittaaksesi alhaalla olevista sivustoista
$ email = '[email protected]';
// Määritä tarkistettavat URL-osoitteet
$ urls = [< br /> ' https://apexpl.io',
'https://google.com',
'https://some-junk-site-that-will-hopefully-never-exist.com'
];
// Käy läpi URL-osoitteet
$ down = [];
foreach ($ urls as $ url) {
// Tarkista URL-osoite
$ status = check_url ($ url);
if ($ status! = 200) {
$ alas [] = $ url;
}
}
// Lähetä sähköpostia, jos meillä on alasivustoja
if (count ($ down)> 0) {
mail ($ sähköposti "Kiireellinen - Sites Down!", "Botti on havainnut seuraavat sivustot ovat tällä hetkellä alhaalla:
". implode ("
", $ alas));
}
// Poistu
exit (0);
/ **
* Tarkista URL < br /> * /
funktion check_url (merkkijono $ url): int
{
// Lähetä kautta 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);
// Hae tila ja sulje yhteys
$ status = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);
curl_close ($ ch);
// Paluu
return $ status;
}

Muokkaa yksinkertaisesti sähköpostiosoitetta ja haluttuja URL-osoitteita tarkistamaan tiedoston yläosassa ja tallenna se jonnekin kuten /home/myuser/check_sites.php . Lisää komentosarjatyö, jotta tämä komentosarja suoritetaan viiden minuutin välein ja ilmoitetaan sinulle sähköpostitse kaikista sivustoista, jotka ovat alhaalla.

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

Automatisoi elämäsi!

Tämän artikkelin kanssa sinä on toivottavasti ymmärtänyt crontabin automaatiovoiman ja kuinka sitä voidaan käyttää automatisoimaan monia tavanomaisia ​​ja toistuvia tehtäviä elämää.

Olet oppinut, mikä on crontab, crontab-tiedostosta, miten crontab-työt muotoillaan ja joitain todellisia esimerkkejä siitä, miten sitä voidaan käyttää.

4 Linux Automation -sovellukset tehostavat tehtäviäsi ja työnkulkuasi

Haluatko säästää aikaa ja välttää toistuvia tehtäviä? Vastaus on automaatio! Tässä on joitain hyödyllisiä kokeiltavia Linux-työpöydän automaatio-sovelluksia.

Liittyvät Aiheet
  • Ohjelmointi
  • Linux
Tietoja Kirjoittaja
Matt Dizak (13 artikkelia Julkaistu)
Lisää Matt Dizakilta

Tilaa Uutiskirje

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Yksi askel!!!

Vahvista sähköpostiosoitteesi lähetimme sinulle juuri sähköpostia.

.