Programarea sarcinilor cu ajutorul programului la în Linux - software-ul

În ultimul articol am vorbit despre cron și programul crontab. care sunt utilizate pentru programarea operațiunilor recurente în sistemul GNU / Linux.

Dar, în unele cazuri, poate fi necesar să efectuați o singură sarcină la un moment dat, doar pentru acest scop este cel mai potrivit la program. care, de asemenea, vă permite să execute comenzi în timp ce reducerea sarcinii de sistem.

Astfel, obiectivul principal al programului este la „un singur plan de execuție a obiectivelor.“ În acest sens, este similar cu programul cron. care este utilizat în mod normal pentru planificarea sarcinilor recurente; să ne uităm la câteva exemple de bază ale utilizării acestui program.

la programul face parte dintr-un set care este format din patru programe: la. lot. ATQ și atrm:

  • Acesta îndeplinește sarcinile la ora programată.
  • ATQ afișează o listă de sarcini în așteptare pentru fiecare utilizator; în cazul de super-utilizator, afișează toate sarcina în așteptare.
  • atrm elimină sarcinile de identificare atribuite.
  • lot execută sarcini în timpul perioadelor de utilizare scăzută; cu alte cuvinte, atunci când sistemul de încărcare medie scade sub valoarea de 1,5 sau valoarea care este specificată în ATD de apel.

Utilizarea programului la

După pornirea la vă solicită să introduceți o serie de comenzi pentru a executa. Pentru a finaliza intrarea de comandă, utilizați comanda rapidă de la tastatură Ctrl-D. Descrierea parametrilor de bază la linia de comandă este prezentată mai jos:

Valoarea acestor parametri:

  • -q este folosit pentru a specifica coada. Coada este indicată printr-o singură literă; Cozile sunt considerate corecte de identificare coadă de la A la Z și de la A la Z. Identificatorul coadă cu o valoare implicită, și identificatorul coada b este coada pentru programele de lot. Comenzile de la cozi cu identificatorii amplasate în continuare efectuate în ordine alfabetică, cu o prioritate mai mare (frumos). Coada de construcții „=“ este rezervat pentru a executa comanda in acest moment. În cazul în care comanda se adaugă la coadă, un identificator care este o majusculă, se crede că echipa sa transferat de program de lot. În cazul în care ATQ programul a trecut de identificare coadă, programul va afișa comenzile găsit doar în această coadă.
  • -m permite utilizatorului să trimită un mesaj prin e-mail dupa sarcina, chiar și în cazul în care executarea programului nu a condus nimic.
  • -f vă permite să citiți comenzi dintr-un fișier în loc de la intrarea standard.
  • La momentul este nevoie de un șir de caractere într-un format compatibil cu standardul POSIX.2. Este nevoie de un șir de caractere care specifică timpul în HH: MM. permițând să execute la orele programate în timpul zilei. Puteți specifica, de asemenea, o zi pentru a rula comanda cu o linie care indică data în numele lunii și zi, cu indicarea opțională a anului, sau prin specificarea unei MMDDYY dată format șir sau LL / ZZ / AA sau DD.MM.YY. Notă data trebuie să urmeze instrucțiunile de timp.

În timpul testului, ora exactă a fost după cum urmează:

În acest caz, dacă specificați doar timpul, sarcina va fi programată pentru următorul moment de timp pentru a realiza acest lucru, de exemplu, am stabilit ora 20.00, iar executarea sarcinii a fost programată pentru ziua următoare în acest moment:

În acest caz, dacă setați ora, care nu a venit astăzi, performanța sarcinii va fi programată în aceeași zi:

Acesta este un alt exemplu utilizând combinația de taste CTRL + D pentru a finaliza comenzile de intrare:

În opinia noastră, producția de program nu este deosebit de util, deoarece nu se poate vedea ce comanda este executată în cadrul sarcinii cu ID-ul 3, sau orice altă sarcină.

Pentru a vedea ce se va face în cadrul sarcinii, puteți utiliza următoarea comandă:

Se va afișa o listă lungă de variabile de mediu pentru comanda și comanda în sine:

#! / Bin / sh
# Atrun uid = gid = 1000 1000
# Mail linuxaria 0
umask 22
SSH_AGENT_PID = 1579; export SSH_AGENT_PID
XDG_SESSION_COOKIE = 586bed7d66c5f3bf0810f6ce0000001c-1350495018.439467-8023144; XDG_SESSION_COOKIE export
WINDOWID = 25165830; export WINDOWID
GNOME_KEYRING_CONTROL = / tmp / keyring-m0UVoj; GNOME_KEYRING_CONTROL export
USER = linuxaria; USER export
LIBGL_DRIVERS_PATH = / usr / lib / fglrx / dri: / usr / lib32 / fglrx / dri; LIBGL_DRIVERS_PATH export
SSH_AUTH_SOCK = / tmp / ssh-DbbUjzXR1501 / agent.1501; SSH_AUTH_SOCK export
USERNAME = riccio; USERNAME export
SESSION_MANAGER = local / mentă desktop: @ / tmp / .ICE-unix / 1501, unix / mentă desktop: /tmp/.ICE-unix/1501; export SESSION_MANAGER
DEFAULTS_PATH = / usr / share / gconf / default.default.path; DEFAULTS_PATH export
XDG_CONFIG_DIRS = / etc / XDG / XDG-default: / etc / XDG; XDG_CONFIG_DIRS export
PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / jocuri; export PATH
DESKTOP_SESSION = implicit; DESKTOP_SESSION export
PWD = / tmp; export PWD
GNOME_KEYRING_PID = 1424; export GNOME_KEYRING_PID
LANG = en_US.UTF-8; export LANG
MANDATORY_PATH = / usr / share / gconf / default.mandatory.path; MANDATORY_PATH export
MDM_XSERVER_LOCATION = local; MDM_XSERVER_LOCATION export
SHLVL = 1; export SHLVL
HOME = / home / linuxaria; HOME export
LOGNAME = linuxaria; LOGNAME export
XDG_DATA_DIRS = / usr / share / default: / usr / local / share /: / usr / share /: / usr / share / MDM /; XDG_DATA_DIRS export
DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-QWgLeCbkps, guid = b1c32f270937311ee26524ff00000031; DBUS_SESSION_BUS_ADDRESS export
MDMSESSION = implicit; MDMSESSION export
WINDOWPATH = 8; WINDOWPATH export
MDM_LANG = en_US.UTF-8; export MDM_LANG
XAUTHORITY = / home / linuxaria / .Xauthority; XAUTHORITY export
COLORTERM = gnome terminală; COLORTERM export
cd / tmp // echo 'director de execuție inaccesibile'> 2
ieșire 1
>
cp -a / proiect / sursa / * / de backup / sursa / ^ C

Această constatare permite să înțeleagă mai bine scopul sarcinii.

Ștergerea unei sarcini programate prin utilizarea atrm

Am învățat pentru a vizualiza o listă de sarcini programate și, dacă se dorește, conținutul lor, este timpul să ia în considerare o modalitate de a le elimina din coadă utilizând programul atrm sau la comanda -d pentru a șterge o anumită sarcină.

Astfel, pentru a elimina sarcina cu ID-ul 3, trebuie doar să introduceți comanda:

Această comandă nu face nimic nu de ieșire la consolă, dar după performanța ei, puteți fi sigur pentru a elimina problema cu ATQ echipa.

Restricționarea utilizatorii programului la

fișiere /etc/at.allow și set /etc/at.deny de utilizatori care pot programa sarcini pentru execuție ulterioară folosind programmat și lot. Deoarece formatul acestor fișiere este o simplă listă de nume de utilizator, câte unul pe fiecare rând. Spațiile în aceste fișiere nu este permisă.

Utilizatorul root poate utiliza și programul AT lot în nici un caz.

Dacă există /etc/at.allow fișier. pe această bază, se stabilește utilizatorii care au permisiunea de probleme de programare, dar, de obicei, în sistemele din acest fișier nu există.

Dacă fișierul /etc/at.allow nu există, fișierul este verificat /etc/at.deny. care conține de obicei, o lungă listă de „utilizatori de sistem“, astfel kakbin. de rezervă. ftp sau www-date. care a interzis sarcinile de planificare.

articole similare