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.