Systemd Timers gebruiken als alternatief voor Cron

Als Linux-gebruiker ken je cron waarschijnlijk. Het dient al vele jaren als een op tijd gebaseerde taakplanner. Nu zien veel gebruikers dat Systemd-timers de dominantie van cron beginnen te vervangen.

Systemd Timers gebruiken als alternatief voor Cron - Linux

 Dit artikel bespreekt de basisprincipes van hoe u uw eigen timer kunt instellen en ervoor kunt zorgen dat deze goed werkt op uw systeem.

installatie?

Als je Systemd al als init gebruikt - veel populaire Linux-distributies gebruiken het standaard, waaronder Arch, Debian, Fedora, Red Hat en Ubuntu - dan zul je zien dat timers al in gebruik zijn. Er zit niets anders op dan deze reeds geïnstalleerde functie te gebruiken.

Lijst met timers-menu

De eenvoudigste manier om te controleren of de timer op uw computer bestaat, is door de opdracht te gebruiken:

systemctl list-timers

U hoeft deze kaarten niet uit te voeren.

systemctl list-timers --all

De optie –all hier toont ook inactieve timers. Er zijn momenteel geen inactieve timers in dit systeem.

U zou een uitvoer moeten vinden die lijkt op de volgende afbeelding:

Systemd Timers gebruiken als alternatief voor Cron - Linux

U kunt de datum en tijd zien waarop elke timer wordt geactiveerd, het aftellen tot dat punt, de hoeveelheid tijd die is verstreken sinds deze is ingeschakeld, de naam van de timereenheid zelf en de service die elke timereenheid activeert.

Alle timers moeten worden gekoppeld aan de bijbehorende service. In het volgende gedeelte ziet u hoe u een ".timer"-bestand maakt dat een ".service"-bestand activeert.

Een nieuwe timer maken

U kunt een nieuwe timer maken door een .timer op maat gemaakt "/etc/systemd/system/." Bij het maken van een nieuw tijdelijk DNS-servicebestand voor: DuckDNS , ik eindigde met deze tekst:

[Unit]

Description=Update duckdns dynamic DNS

[Timer]

OnCalendar=*-*-* 11:43:00

Persistent=true

[Install]

WantedBy=timers.target

1. Sectie [Eenheid]

De optie "Description= ..." in het bestand vertelt je de naam/beschrijving van de timer zelf. In dit geval zal 'duckdns.timer' mijn dns updaten door het bestand 'duckdns.service' te vertellen een reeks opdrachten uit te voeren.

U kunt de tekst na "Description=" wijzigen om te zeggen wat u maar wilt.

2. [Timer]-sectie

Toont "OnCalendar =..." Hier is een manier om de timer te vertellen wanneer deze moet worden geactiveerd. * – * – * staat voor "jaar-maand-dag, en sterretjes betekenen dat het vanaf nu elke dag van elke maand van elk jaar zal worden uitgevoerd. De tijd na de sterretjes geeft aan op welk tijdstip van de dag de timer moet lopen.

"Persistent = waar" betekent alleen dat de timer automatisch loopt als hij de vorige starttijd mist. Dit kan gebeuren omdat de computer wordt afgesloten voordat de gebeurtenis plaatsvindt. Dit is optioneel maar aanbevolen.

3. [Installeren] sectie

Eindelijk lijkt het "WantedBy = timers.doel" Dat systemd-timers.doel Dit bestand wordt gebruikt timer. Deze regel in het bestand geeft de afhankelijkheidsreeks weer van het ene bestand naar het andere. U mag deze regel niet verwijderen of wijzigen.

أخرى

U kunt veel andere functies vinden door een pagina te scannen man man مع man systeemd.timer. Ga naar het gedeelte OPTIES om opties voor nauwkeurigheid, persistentie en nabewerking te ontdekken.

Afspeeltimer

Activeer elke timer die u met syntaxis hebt gemaakt systemctl inschakelen و systeemctl start.

sudo systemctl enable duckdns.timer

sudo systemctl start duckdns.timer

Kijk nog eens naar de systemctl list-timers list om je timer in actie te zien.

Systemd Timers gebruiken als alternatief voor Cron - Linux

U kunt zien of uw timer liep zoals verwacht door het servicebestand te controleren met systeemctl-status. In dit geval kun je zien dat het in mijn geval om 11:43:00 werkt zoals het hoort.

Systemd Timers gebruiken als alternatief voor Cron - Linux

Conclusie

Hoewel veel programma's van derden, waaronder: DuckDNS , wordt geleverd met scripts waarmee ze naar behoefte kunnen worden bijgewerkt, waardoor timers worden gemaakt in systemd Het is een handige vaardigheid om te weten. was een timer aan het maken voor DuckDNS Hier is niet nodig, maar het laat zien hoe andere soorten timers zullen werken systemd.

Deze kennis zal bijvoorbeeld nuttig zijn om scripts te maken en uit te voeren Slaan je eigen. U kunt het zelfs gebruiken om de huidige timer aan te passen aan uw voorkeuren. Bovendien is het altijd goed om te weten hoe uw computer werkt, en aangezien systemd Dit stukje van de puzzel, dat veel basisfuncties bestuurt, kan je helpen beter te begrijpen hoe gebeurtenissen zich elke dag afspelen.

Bedankt voor het volgen van het artikel. Veel succes met het maken van je eigen timers.

DzTech

Ik ben een staatsingenieur met uitgebreide ervaring op het gebied van programmeren, website maken, SEO en technisch schrijven. Ik ben gepassioneerd door technologie en wijd mij aan het verstrekken van kwaliteitsinformatie aan het publiek. Ik kan een waardevollere bron worden voor gebruikers die op zoek zijn naar nauwkeurige en betrouwbare informatie over productrecensies en gespecialiseerde toepassingen op verschillende gebieden. Mijn niet-aflatende toewijding aan kwaliteit en nauwkeurigheid zorgt ervoor dat de verstrekte informatie betrouwbaar en nuttig is voor het publiek. Het voortdurende streven naar kennis drijft mij om op de hoogte te blijven van de nieuwste technologische ontwikkelingen en ervoor te zorgen dat gedeelde ideeën op een duidelijke en toegankelijke manier worden overgebracht.
Ga naar de bovenste knop