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:
- 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:
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ää.
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.
- Ohjelmointi
- Linux
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.