![Microsoft prezintă Windows 365 Cloud PC: Ce este și cât de sigur este?](/f/701cae63d8f14a5e129da55cdeaca4f8.png?width=100&height=100)
Lumea lui Linux este plin de atâtea lucruri distractive și interesante, cu cât intrăm mai mult, cu atât găsim mai multe tipuri de lucruri.
În eforturile noastre de a vă aduce acele mici hack-uri și sfaturi care vă fac diferit de ceilalți, aici am venit cu câteva metode alternative de a programa un loc de muncă fără a utiliza utilitarul cron în Linux.
Programarea unui job/comandă în Linux este un acronim pentru cron. Ori de câte ori trebuie să programăm un loc de muncă, sunăm comanda cron, dar știți că putem programa o lucrare mai târziu fără porumb? Puteți face acest lucru folosind următoarele abordări comune.
Cuprins
Rulați o comandă (să zicem Data) fiecare 5 sec si scrie ieșirea într-un fișier (Spune data.txt). Pentru a realiza acest scenariu, trebuie să rulăm scriptul de mai jos direct pe promptul de comandă.
$ în timp ce adevărat; do date >> date.txt; somn 5; Terminat &
Anatomia scenariului cu o singură linie de mai sus:
>>
si nu >
.>>
se asigură că fișierul (data.txt) nu este suprascris de fiecare dată când se execută scriptul. Doar anexează modificările. Întrucât >
suprascrieți fișierul din nou și din nou.&
– Puneți întregul proces într-o buclă în fundal.În mod similar, putem executa orice script în același mod. Iată comanda pentru a apela un script după un anumit interval (de exemplu 100 sec) iar numele scriptului este script_name.sh
.
De asemenea, merită menționat faptul că scriptul de mai sus ar trebui să fie rulat în directorul în care se află scriptul care urmează să fie numit, altfel trebuie să furnizați o cale completă (/home/$USER/…/script_name.sh
).
Sintaxa pentru apelarea scriptului la intervalul descris mai sus este:
$ în timp ce adevărat; face /bin/sh script_name.sh; dormi 100; Terminat &
Notă: Căptușeala de mai sus nu este un înlocuitor pentru Cron, deoarece Cron utilitarul acceptă o mulțime de opțiuni, în comparație, și este foarte flexibil, precum și personalizabil.
Cu toate acestea, dacă dorim să rulăm anumite cazuri de testare sau benchmark-uri I/O, atunci comanda unică de mai sus va servi scopului.
În cele mai multe distribuțiile moderne Linux, Systemd este implicit init sistem și vine cu o funcționalitate de cronometru care vă poate permite să vă programați sarcinile.
Mai întâi, creați un nou systemd fișierul unității de cronometru cu a .temporizator
extensie așa cum se arată.
$ sudo nano /etc/systemd/system/myjob.timer.
Adăugați următorul conținut la jobul meu.timer
fişier:
[Unitate] Descriere=Cronometrul jobului meu [Timer]OnCalendar=*-*-* 00:00:00. # Înlocuiți valoarea OnCalendar cu programul dorit [Instalare] WantedBy=timers.target.
The OnCalendar câmp în a systemd unitatea de cronometru vă permite să specificați programul pentru lucrarea dvs. folosind un format specific.
*:MM
(de exemplu., *:15
pentru fiecare 15 minute) sau un interval specific folosind MM-MM (de exemplu., 10-30 pentru fiecare minut de la 10 la 30).Iată câteva exemple pentru a ilustra formatul:
## Alergați în fiecare zi la ora 3:00 ## OnCalendar=*-*-* 03:00:00 ## Rulați în fiecare luni și vineri la ora 10:00 ## OnCalendar=luni, vineri *-*-* 10:00:00 ## Alergați la fiecare 30 de minute: ## OnCalendar=*-*-* *:0/30:00
Apoi, creați un fișier de unitate de serviciu corespunzător cu a .serviciu
extensie în același director:
$ sudo nano /etc/systemd/system/myjob.service.
Adăugați următorul conținut la myjob.service
fişier:
[Unitate] Descriere=Slujba mea [Serviciul] ExecStart=/path/to/your/job.sh. # Înlocuiți „/path/to/your/job.sh” cu comanda sau scriptul real pentru a executa [Instalare] WantedBy=multi-user.target.
Activați și porniți cronometrul:
$ sudo systemctl enable myjob.timer. $ sudo systemctl start myjob.timer.
Acest lucru vă va programa munca să ruleze în funcție de temporizatorul specificat.
Anacron este un programator de joburi bazat pe timp care vă permite să programați periodic joburi pe sisteme care nu sunt întotdeauna pornite. Este conceput pentru sisteme care nu au acces regulat la cron. Dacă anacron este instalat pe sistemul dvs., îl puteți utiliza pentru a vă programa lucrarea.
Dacă nu este instalat, îl puteți instala folosind managerul de pachete.
$ sudo apt install anacron [Activat Debian, Ubuntu și Mint] $ sudo yum install anacron [ActivatRHEL/CentOS/Fedora și Rocky/AlmaLinux] $ sudo emerge -a sys-apps/anacron [ActivatGentoo Linux] $ sudo apk add anacron [ActivatAlpine Linux] $ sudo pacman -S anacron [OnArch Linux] $ sudo zypper install anacron [ActivatOpenSUSE]
Creați un nou fișier de configurare (job-ul meu.sh) pentru jobul dvs. în /etc/anacrontab.d/ director.
$ sudo nano /etc/anacrontab.d/myjob.sh.
În fișierul de configurare, specificați detaliile jobului dvs.
# Rulați myjob.sh în fiecare zi cu o întârziere de 5 minute. 1 5 jobul meu /calea/spre/treaba mea.sh
Câmpurile din fișierul de configurare au următoarele semnificații:
Acum, Anacron va executa automat jobul dvs. conform programului specificat.
S-ar putea sa-ti placa si:
Asta este tot pentru moment, dacă cunoașteți astfel de hack-uri sau trucuri Linux, le puteți împărtăși cu noi prin secțiunea noastră de comentarii și nu uitați să împărtășiți acest articol prietenilor dvs.