Kuinka käyttää 'at'-komentoa tehtävän ajoittamiseen tiettyyn tai myöhempään aikaan Linuxissa


Vaihtoehtona cron-työn ajastimelle at-komennon avulla voit ajoittaa komennon suoritettavaksi kerran tiettynä ajankohtana muokkaamatta asetustiedostoa.

Ainoa vaatimus on tämän apuohjelman asentaminen ja sen käynnistäminen ja suorittaminen:

yum install at              [on CentOS based systems]
sudo apt-get install at     [on Debian and derivatives]

Käynnistä seuraavaksi ja ota käyttöön palvelussa käynnistyksen yhteydessä.

--------- On SystemD ---------
systemctl start atd
systemctl enable atd

--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on

Kun atd on käynnissä, voit ajoittaa minkä tahansa komennon tai tehtävän seuraavasti. Haluamme lähettää 4 ping-anturia osoitteeseen www.google.com, kun seuraava minuutti alkaa (eli jos kello on 22:20:13, komento suoritetaan 22:21:00) ja ilmoita tuloksesta sähköpostilla (-m, vaatii Postfixin tai vastaavan) komennon kutsuvalle käyttäjälle:

echo "ping -c 4 www.google.com" | at -m now + 1 minute

Jos päätät olla käyttämättä vaihtoehtoa -m, komento suoritetaan, mutta mitään ei tulosteta vakiotulosteeseen. Voit kuitenkin ohjata lähdön uudelleen tiedostoon.

Huomaa lisäksi, että at sallii seuraavat kiinteät ajat: nyt, keskipäivä (12:00) ja keskiyö (00:00), mutta myös mukautetut 2-numeroiset (vastaa tunteja) ja 4-numeroiset ajat (tunnit ja minuutit).

Esimerkiksi,

Suorita updatedb 23.00 tänään (tai huomenna, jos nykyinen päivämäärä on suurempi kuin 23.00), toimi seuraavasti:

echo "updatedb" | at -m 23

Järjestelmän sammuttaminen tänään klo 23.55 (samat kriteerit kuin edellisessä esimerkissä):

echo "shutdown -h now" | at -m 23:55

Voit myös viivyttää suoritusta minuuteilla, tunneilla, päivillä, viikoilla, kuukausilla tai vuosilla käyttämällä +-merkkiä ja haluttua aikamäärittelyä kuten ensimmäisessä esimerkissä.

Aikamääritykset ovat POSIX-standardin alaisia.

Yhteenveto

Nyrkkisääntönä on, että käytä at:ta cron-työn ajastimen sijasta aina, kun haluat suorittaa komennon tai suorittaa tietyn tehtävän hyvin määriteltynä aikana vain kerran. Käytä muissa skenaarioissa cron-toimintoa.

Seuraavaksi käsittelemme tar-arkistotiedostojen salaamista openssl:n avulla, kunnes pysyt yhteydessä Tecmintiin.