Ik ben altijd gefascineerd door de dingen die achter de schermen gebeuren als ik start een Linux-systeem en log in. Door op de aan/uit-knop op een blank metaal te drukken of een virtuele machine te starten, zet je een reeks gebeurtenissen in gang die leiden tot een volledig functioneel systeem - soms in minder dan een minuut. Hetzelfde geldt wanneer u zich afmeldt en/of het systeem afsluit.
Wat dit interessanter en leuker maakt, is het feit dat je het besturingssysteem bepaalde acties kunt laten uitvoeren wanneer het opstart en wanneer je in- of uitlogt.
In dit distro-agnostische artikel zullen we de traditionele methoden bespreken om deze doelen in Linux te bereiken.
Opmerking: We gaan uit van het gebruik van bash als hoofdschil voor aanmeldings- en uitloggebeurtenissen. Als u toevallig een andere gebruikt, kunnen sommige van deze methoden wel of niet werken. Raadpleeg bij twijfel de documentatie van uw shell.
Er zijn twee traditionele methoden om een opdracht uit te voeren of scripts uit te voeren tijdens het opstarten:
Naast het gebruikelijke formaat (minuut / uur / dag van de maand / maand / dag van de week) dat veel wordt gebruikt om een schema aan te geven, cron-planner maakt ook het gebruik van @reboot
. Deze instructie, gevolgd door het absolute pad naar het script, zorgt ervoor dat het wordt uitgevoerd wanneer de machine opstart.
Er zijn echter twee kanttekeningen bij deze benadering:
Deze methode is zelfs geldig voor op systemen gebaseerde distributies. Om deze methode te laten werken, moet u uitvoeringsrechten verlenen aan: /etc/rc.d/rc.local
als volgt:
# chmod +x /etc/rc.d/rc.local.
en voeg je script toe onderaan het bestand.
De volgende afbeelding laat zien hoe u twee voorbeeldscripts uitvoert (/home/gacanepa/script1.sh
en /home/gacanepa/script2.sh
) gebruik maken van een cron baan en rc.local, respectievelijk, en hun respectieve resultaten.
script1.sh:
#!/bin/bash. DATUM=$(datum +'%F %H:%M:%S') DIR=/home/gacanepa. echo "Huidige datum en tijd: $DATE" > $DIR/file1.txt.
script2.sh:
#!/bin/bash. SITE="Tecmint.com" DIR=/home/gacanepa. echo "$SITE rockt... voeg ons toe aan uw bladwijzers." > $DIR/file2.txt.
Houd er rekening mee dat beide scripts eerder uitvoeringsmachtigingen moeten krijgen:
$ chmod +x /home/gacanepa/script1.sh. $ chmod +x /home/gacanepa/script2.sh.
Om een script uit te voeren bij het inloggen of uitloggen, gebruik ~.bash_profile
en ~.bash_logout
, respectievelijk. Hoogstwaarschijnlijk moet u het laatste bestand handmatig maken. Plaats gewoon een regel die uw script aanroept onderaan elk bestand op dezelfde manier als voorheen en u bent klaar om te gaan.
In dit artikel hebben we uitgelegd hoe u een script kunt uitvoeren bij opnieuw opstarten, aanmelden en afmelden. Als u andere methoden kunt bedenken die we hier hadden kunnen opnemen, kunt u het onderstaande opmerkingenformulier gebruiken om erop te wijzen. We kijken ernaar uit van u te horen!