Skip to content

Het Linux/Unix-commando: atd

27 de juli de 2021
development team cooperating in their office 543833982 57ec18825f9b586c3595075f

Heb je ooit een opdracht of zelfs een compleet script op een bepaalde datum en tijd moeten uitvoeren. Natuurlijk, als je iets op een terugkerende manier moet uitvoeren, heb je cron, maar wat gebeurt er als je het maar één keer hoeft uit te voeren? Dat is waar atd om de hoek komt kijken. Atd is eigenlijk de ‘at’-daemon die op de achtergrond van je Linux-systeem draait en commando’s op een bepaald tijdstip uitvoert. U kunt zowel eenmalige opdrachten als scripts eenvoudig plannen met atd, en u hoeft zich geen zorgen te maken dat ze een tweede keer worden uitgevoerd of dat u aanwezig moet zijn om ze uit te voeren.

ATD installeren

Om te beginnen, moet u waarschijnlijk atd installeren. U kunt dat eenvoudig genoeg doen met de pakketbeheerder van uw distributie.

Debian/Ubuntu/Mint

sudo apt install at

Fedora

sudo dnf installeren op

CentOS/RHEL

sudo yum installeren op

OpenSUSE

sudo zypper installeren op

Arch Linux/Manjaro

sudo pacman -S at

ATD starten en inschakelen

Voordat u met atd kunt werken, moet u het starten en inschakelen, aangezien het een daemon is. Dat kan eenvoudig genoeg met systemd. sudo systemctl start atd
sudo systemctl activeer atd

ATD gebruiken

Met de opdracht atd kunt u de planningsdaemon beheren, terwijl u met de opdracht at daadwerkelijk taken kunt plannen, uitvoeren en beheren. Vaker wel dan niet, ga je werken met at, in plaats van atd. Het eerste dat u waarschijnlijk wilt doen, is de beperkende belastingsfactor instellen. In wezen bepaalt dit hoeveel van het systeemvermogen kan worden gebruikt door taken die zijn gepland met at. De vlag ‘-l’ gevolgd door een cijfer is voldoende. Sindsdien hebben de meeste computers meerdere kernen en threads. Een goed getal om te gebruiken is het aantal verwerkingsthreads op uw computer minus één. Dus, op een quad-core computer met één thread per core, zou je gebruiken: sudo atd -l 3

Vervolgens is het een goed idee om het minimale batch-interval in te stellen voor uw ‘bij’-taken. Dit is de minimale tijd tussen het begin van twee taken, en u stelt deze in met de ‘-b’ vlag gevolgd door een aantal seconden. Nogmaals, dit aantal moet worden bepaald door de hoeveelheid verwerkingskracht en geheugen die uw systeem heeft. De standaardwaarde is 60 seconden. Dat is eerlijk, maar een quad-coresysteem kan in de meeste situaties gemakkelijk wegkomen door het in te stellen op 30. Als uw computer meer vermogen heeft, kunt u experimenteren en het aantal nog verder verlagen. sudo atd -b 30

Dit zijn de meest voorkomende opdrachten die u zou gebruiken bij het configureren van atd. Raadpleeg de volledige handleiding hieronder voor meer gedetailleerde informatie.

ATD-commandohandleiding

Hieronder vindt u het volledige technische overzicht van atd op Linux-systemen.

Korte inhoud

bij D [-l load_avg] [-b batch_interval] [-d] [-s]

Beschrijving

bij D voert taken uit die in de wachtrij zijn geplaatst door Bij.

Opties

-l

Specificeert een beperkende belastingsfactor, waarover batchtaken niet mogen worden uitgevoerd, in plaats van de compileertijdkeuze van 0,8. Voor een SMP-systeem met N CPU’s, wilt u dit waarschijnlijk hoger instellen dan n-1.

-B

Geef het minimale interval in seconden op tussen de start van twee batchtaken (standaard 60).

-NS

debuggen; print foutmeldingen naar standaardfout in plaats van te gebruiken syslog.

-s

Verwerk de at/batch-wachtrij slechts één keer. Dit is vooral nuttig voor compatibiliteit met oude versies van Bij; atd -s is gelijk aan de oude atrun opdracht. Een script dat aanroept atd -s is geïnstalleerd als /usr/sbin/atrun voor achterwaartse compatibiliteit.

Waarschuwing

bij D werkt niet als de spooldirectory via NFS is aangekoppeld, zelfs als: no_root_squash is ingesteld. Gebruik de Mens commando (% Mens) om te zien hoe een opdracht op uw specifieke computer wordt gebruikt.