Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Automatisch starten van scripts (verschillend per dag)  (gelezen 1236 keer)

Offline Yosh

  • Lid
Automatisch starten van scripts (verschillend per dag)
« Gepost op: 2012/02/28, 11:09:40 »
Beste medemensen,

Ik ben aan het spelen met een oud pctje, geïnstalleerd met Ubuntu 10.04 LTS.
Mijn idee is het om de pc zonder toetsenbord, muis, monitor, etc te plaatsen. 'S ochtends wordt deze aangezet en dan moet er een bepaald script (commandline) opstarten. Aan het einde van de dag wordt de pc weer uitgeschakeld. Echter het probleem: Ik wil dat er een bepaald script wordt uitgevoerd op maandag, een ander script op dinsdag, etc. Elke dag een ander dus. Met Gnome-schedule is het mogelijk om per dag een andere opdracht te laten uitvoeren, echter op een bepaald tijdstip. Wordt de pc na dit tijdstip ingeschakeld, wordt er geen opdracht uitgevoerd. Of stel dat hij WEL op tijd aanstond, script wordt uitgevoerd en dan wordt de pc gereboot (of bijv. stroomuitval). Dan wordt na het inschakelen het script ook niet uitgevoerd (omdat deze na de starttijd ingeschakeld wordt).
Kortom: Als het maandag is, moet het maandagscript uitgevoerd worden als de pc opstart. Tijdstip en evt. reboots onafhankelijk.
Ik ben geen linux expert, maar niet vies van enig uitzoekwerk. Via Google kwamen de namen Anacron, fcron, etc naar boven. Echter lijkt dit wat lastiger.
Fijn was natuurlijk een makkelijke (GUI) oplossing zonder al teveel instellingen / configuratie.

Iemand die hier ervaring mee heeft en mij hier blij mee wilt maken? Alvast bedankt!

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Automatisch starten van scripts (verschillend per dag)
« Reactie #1 Gepost op: 2012/02/29, 12:33:08 »
Ik zou hiervoor Cron gebruiken, met wat hulpscripts.

Je zal wel even in de terminal moeten duiken, maar zo moeilijk is het niet.
Voer dit commando uit:
crontab -e
Nu kom je in een tekstbewerkprogramma waar je allerlei schema's in kan stellen.
Als het goed is, is het bestand nog leeg.
Wat je in dit bestand zet is het volgende:
@reboot /pad/naar/script

Vervang /pad/naar/script door de locatie waar je dit "hulpscript" neerzet. Bijv. /home/gebruikersnaam/bin/startscript.sh

Maak nu in gedit of een ander tekstbewerkprogramma (NIET OpenOffice.org) dat hulpscript aan.
Zet er dit in:
#!/bin/bash

weekdag=$(date +%u)

case $weekdag in
1 )
#Maandag
/home/gebruikersnaam/bin/maandag.sh
;;

2 )
#Dinsdag
/home/gebruikersnaam/bin/dinsdag.sh
;;

.... (vul hier de rest van de dagen in)

7 )
#Zondag
/home/gebruikersnaam/bin/zondag.sh
;;

* )
#Dit zou niet voor mogen komen
echo "Fout in /home/gebruikersnaam/bin/startscript.sh"
exit 1
;;
esac

exit 0
(Vul aan en wijzig voor zover nodig)

Maak vervolgens het startscript uitvoerbaar:
chmod +x /home/gebruikersnaam/bin/startscript.sh

Een mooie grafische oplossing is het niet, maar zodra je het eenmaal hebt opgezet werkt het wel :)