Ce face at
Comanda at citește comenzile de la intrarea standard (sau dintr-un fișier, cu -f) și le execută o singură dată, la ora indicată, prin serviciul atd. Ora se poate scrie în multe forme: 22:00, now + 30 minutes, tomorrow 08:00, noon, midnight.
atq listează joburile programate ale utilizatorului, iar atrm șterge un job după număr. batch pune comanda într-o coadă care pornește când încărcarea sistemului scade sub un prag (implicit 1.5).
Pachetul nu este instalat implicit pe toate distribuțiile: pe Debian/Ubuntu se instalează cu sudo apt install at, iar serviciul pornește cu sudo systemctl enable --now atd. Ieșirea comenzilor programate se trimite prin e-mail local, deci redirecționeaz-o într-un fișier.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
ORA |
Momentul execuției: HH:MM, now + N minutes|hours|days, tomorrow, o dată ca 10:00 2026-11-01. |
-f FIȘIER |
Citește comenzile din fișier, nu de la tastatură. |
-l |
La fel ca atq: listează joburile. |
-r, -d |
La fel ca atrm: șterge joburi. |
-c NUMĂR |
Afișează conținutul complet al unui job programat. |
-m |
Trimite e-mail utilizatorului la final, chiar dacă nu există ieșire. |
Exemple
Exemplul 1: Repornirea unui serviciu peste o oră
Comanda vine prin pipe. at anunță că folosește /bin/sh și afișează numărul jobului.
echo "systemctl restart php8.4-fpm" | sudo at now + 1 hour
Ieșire în terminal
warning: commands will be executed using /bin/sh
job 4 at Sun Oct 25 15:30:00 2026
Exemplul 2: Un raport diseară la 22:00, apoi lista joburilor
Ieșirea scriptului merge într-un fișier. atq arată numărul jobului, data, coada (a) și utilizatorul.
echo "/home/ana/raport_vanzari.sh > /home/ana/raport.log 2>&1" | at 22:00
atq
Ieșire în terminal
warning: commands will be executed using /bin/sh
job 5 at Sun Oct 25 22:00:00 2026
5 Sun Oct 25 22:00:00 2026 a ana
Exemplul 3: Anularea unui job programat
Dacă numărul nu există, atrm spune asta. După ștergere, atq nu mai afișează jobul 5.
atrm 5
atrm 9
atq
Ieșire în terminal
Cannot find jobid 9
4 Sun Oct 25 15:30:00 2026 a ana
Greșeli frecvente
- Folosirea lui
atpentru sarcini repetate: pentru „în fiecare noapte” foloseștecrontabsau un timer systemd. - Comenzi care depind de mediul interactiv: jobul rulează cu
/bin/sh, fără aliasurile tale. Folosește căi absolute. - Serviciul
atdoprit sau neinstalat: jobul se programează, dar nu rulează niciodată. Verifică cusystemctl status atd.
Comenzi înrudite
systemd timers (systemctl list-timers): Programează sarcini repetate cu unități .timer în systemd, o alternativă la cron cu jurnal și dependențe.systemctl: Controlează sistemul de inițializare systemd și administrează serviciile (demoni de fundal).nohup: Pornește o comandă care continuă să ruleze și după ce închizi terminalul sau sesiunea SSH.