Heeft u ooit een script willen uitvoeren bij het opstarten met rootprivileges? Als je een thuisserver hebt, of misschien gewoon een Linux-desktop, is dit misschien in je opgekomen. Dit klinkt twijfelachtig, maar als je de risico's begrijpt, kan de beloning hiervoor heel goed zijn.

De belangrijkste redenen zijn dat de server niet meer wordt opgestart, zich aanmeldt via ssh, een wachtwoord invoert, een rootshell krijgt en vervolgens handmatig script na script uitvoert. Gebruik in plaats daarvan de kracht van cron en stel uw systeem zo in dat deze scripts bij het opstarten automatisch worden uitgevoerd! Hier is hoe het te doen.

Cron instellen

De meeste Linux-distributies hebben de mogelijkheid om toegang te krijgen tot cron door crontab -e . Als u echter deze opdracht hebt ingevoerd en er helemaal niets is gebeurd, bevindt u zich in een Linux-distributie die geen mogelijkheid heeft om met cron te communiceren. Dit betekent dat u een tool moet installeren om door te gaan. De meest populaire tool om in deze situatie te gebruiken is een daemon die bekend staat als 'cronie'. Het is een erg populaire tool en bevindt zich in de meest populaire Linux-distributiereservoirs.

Open een terminal en installeer cronie met je pakketbeheerder. U kunt ook naar deze pagina gaan en een pakket downloaden voor uw distributie.

Het script opzetten met Cron

Het openen van een crontab is heel eenvoudig. Om te beginnen, open een terminalvenster en voer de volgende opdracht in:

 sudo crontab -e 

Opmerking : de sudo is belangrijk als u het script als root wilt uitvoeren. U kunt de sudo weglaten als u het script gewoon als normale gebruiker wilt uitvoeren.

Als het systeem niet eerder crontab heeft gebruikt, moet de gebruiker een editor opgeven om mee te werken. Hoewel alle editors op hun eigen manier goed zijn, kiest u voor 'nano', omdat dit de eenvoudigste teksteditor is en u niet veel moeite hoeft te doen. Als de editor is geselecteerd, laadt cron een standaardbestand met gedetailleerde instructies over hoe alles werkt.

Blader in de nano-editor in de terminal helemaal naar beneden en begin met het schrijven van "@reboot". De opdracht reboot is hier de sleutel, omdat de cron bij het opnieuw opstarten van deze opdracht wordt verteld dat deze elke keer moet worden uitgevoerd. Voeg direct na het opnieuw opstarten het volledige pad naar het bash-script toe.

 @reboot /home/derrik/startupscript.sh 

Nu het commando is ingesteld, kan de crontab worden opgeslagen. Druk op "Ctrl + o" op het toetsenbord. Dit zal de gebruiker vragen om "het bestand uit te schrijven". Standaard noemt cron de crontab, dus verander niets. Druk op de enter-toets om de crontab op te slaan.

Verwijder het script van het opstarten

Op dezelfde manier dat het commando aan de crontab werd toegevoegd, kan het worden verwijderd. Open hiervoor een terminal en voer sudo crontab -e . Hiermee wordt het crontab-bestand geladen. Verwijder gewoon de opdracht die is toegevoegd, sla deze op en start de computer (of server) opnieuw op.

Problemen met Cron oplossen

Soms voert cron geen opdrachten uit, en dat kan een probleem zijn. De gemakkelijkste manier om problemen met cron op te lossen (mocht er een zijn) is om naar het systeemlogboek te kijken. Open hiervoor het terminalvenster en voer deze opdracht in:

 grep CRON / var / log / syslog 

Het syslog toont alle systeemgebeurtenissen en met behulp van de grep opdracht is het mogelijk om uit te filteren wat cron en crontag doen. Dit moet gebruikers in staat stellen om eenvoudig problemen op te lossen en alles op te lossen dat fout kan gaan.

Conclusie

Bash-scripting is een prachtig iets, en het is een van de sterke punten van Linux. Het maakt het beheer van servers en zelfs gewone Linux-computers eenvoudiger vanwege de mogelijkheid om grote hoeveelheden opdrachten te nemen en deze te automatiseren. Door cron aan de foto toe te voegen, hebben deze scripts de kracht om nog nuttiger te worden. Nooit meer aan het sleutelen na je Linux-boxlaarzen. Zet het gewoon op en vergeet het!

Welke basisscripts zou u bij het opstarten van uw Linux-box uitvoeren? Vertel het ons hieronder!