Hoe computer automatisch opstarten a.d.h.v. planning? CentOS

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
Hallo iedereen

Ik heb thuis een server staan die alleen overdag aan moet staan (vanaf 8h 's morgens tot wanneer ik hem afzet). Ik doe dit nu via de BIOS, maar dat is maar heel basic: je stelt een tijd in en de dagen waarop dit uitgevoerd moet worden. Ik wil nu namelijk dat hij op weekdagen (ma - vr) vanaf 15:30 pas aangaat en in het weekend dan al vanaf 8h. Volgens google gaat dat wel via rtcwake en crontab maar dat gaat alleen uit slaapstand en hibernation, niet uit volledige shutdown. Is er misschien nog een alternatief? Noot: Wake on lan is ingesteld maar alleen lokaal, misschien dat ik daar iets mee kan doen, aangezien dat gaat vanuit complete shutdown.

Alvast bedankt!
Nickmans Rob

Beste antwoord (via NiRo op 09-10-2017 16:24)


  • Ernemmer
  • Registratie: Juli 2009
  • Niet online
@NiRo Ik denk misschien iets te simpel maar kan je niet gewoon een 220v tijdschakelaar gebruiken?
Die stel je precies in op welke tijd en dag hij stroom door moet geven en in de bios zet je de, ''state after power loss'' op ''on''

https://www.elektroshop.n...winter-tijd-weekklok.html

[ Voor 3% gewijzigd door Ernemmer op 26-08-2017 13:42 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • Switchie
  • Registratie: April 2009
  • Niet online

Switchie

Mr. Evil Genius

NiRo schreef op maandag 31 juli 2017 @ 17:22:
Noot: Wake on lan is ingesteld maar alleen lokaal, misschien dat ik daar iets mee kan doen, aangezien dat gaat vanuit complete shutdown.

Alvast bedankt!
Nickmans Rob
Wellicht biedt jouw router een dergelijke functionaliteit.
Anders zullen er b.v. voor de smartphone legio mogelijkheden zijn. Moet je alleen even het poortje openzetten

'Future proof' (de; v) Verschijnsel waarbij men een dure aankoop rechtvaardigt door innovatie te negeren


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Switchie Mijn pc staat rechtstreeks aangesloten via kabel op mijn Telenet modem. Welke poort moet ik hiervoor dan openzetten?

Acties:
  • 0 Henk 'm!

  • Switchie
  • Registratie: April 2009
  • Niet online

Switchie

Mr. Evil Genius

Udp poorten 7 en 9

'Future proof' (de; v) Verschijnsel waarbij men een dure aankoop rechtvaardigt door innovatie te negeren


Acties:
  • 0 Henk 'm!

  • M-ThijZ
  • Registratie: Maart 2003
  • Laatst online: 11:40

M-ThijZ

Riding on Rails

Wake on Wan kan alleen wanneer je router een statische ARP entry aan kan maken voor je server. Vaak poort 9.

Meest stabiele is een device intern (rPi) die op de juiste tijd een WoL packet broadcast. De vraag is of het de moeite (energiebesparing) waard is om dit allemaal uit te zoeken als de BIOS al een optie biedt om het dagelijks vanaf een bepaalde tijd aan te zetten.

Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Switchie Oke bedankt!
@M-ThijZ Klein vraagje: wat is een ARP entry? En ja had ik ook al aan gedacht maar de kosten van een rPi t.o.v. de beetjes energie die de server verbruikt, is dat niet echt de oplossing. Dus ofwel zoek ik een app op mijn smartphone om een WOL pakketje te versturen op bepaalde tijden ofwel hou ik het zoals het nu is.

Acties:
  • 0 Henk 'm!

  • M-ThijZ
  • Registratie: Maart 2003
  • Laatst online: 11:40

M-ThijZ

Riding on Rails

Ok, om je router een packet te laten forwarden op basis van een IP-adres, moet hij weten naar welk MAC
-adres dit moet. Dit zit immers op een lagere netwerklaag dan IP.

Daarvoor wordt o.a. een ARP table gebruikt, een lookup tabel bij een IP-adres het juiste MAC-adres te vinden. Die ARP-entry heeft een bepaalde Time To Live. Op het moment dat de server uit staat, een WOL packet binnenkomt en geforward moet worden naar een IP, gaat de router een ARP request doen (who has IP X), maar omdat je server uit staat komt er geen response en gaat het packet verloren.

In sommige routers kun je een statisch IP assignen, vaak onthoud hij dan ook het bijbehorende MAC-adres, maar niet altijd.

Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

De vraag is niet afhankelijk van het OS.

Op het moment dat je PC compleet in shutdown staat, is er niets geladen. Geen OS, niks. De enige die op dat moment iets kan doen om je PC aan te zetten is je firmware. Maar dit is niet iets wat je binnen CentOS kan configureren.

Alternatief wat ik kan bedenken is dat je 2 tijden instelt: 08:00 en 15:30. Na de boot check je met een script de dag van de week. Is het weekend, doe je een shutdown.

Pas wel op bij het debuggen dat je PC niet in een loop terecht komt.

Ander alternatief is misschien een UPS systeem.

Verder heb ik er nog nooit naar gekeken, maar misschien dat UEFI meet mogelijkheden biedt?

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • +3 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Het kan wel degelijk door Linux geregeld worden. En het kan prima met crontab en RTC wake. Zie bijvoorbeeld https://www.linux.com/learn/wake-linux-rtc-alarm-clock, waar het wordt genoemd over een echte shutdown. Het roept de wake functie aan van het BIOS. Werkt dus ongeacht suspend/hibernate van het OS.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
Waarom laat je de server niet 24 uur aan?
Linux biedt genoeg opties om de server zuiniger te maken, wat zijn je server specs.?

Acties:
  • +1 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 09:50

Blokker_1999

Full steam ahead

HollowGamer schreef op woensdag 16 augustus 2017 @ 08:23:
Waarom laat je de server niet 24 uur aan?
Linux biedt genoeg opties om de server zuiniger te maken, wat zijn je server specs.?
Daar kunnen meerdere redenen voor zijn. Niets is zo zuinig als een systeem dat uitstaat en niets is zo veilig als een systeem dat uitstaat. Heb je het niet nodig? Waarom laten draaien?

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
Inderdaad! Ik denk dat ik het ga laten zoals het is, hoewel het idee van @Rainmaker ook niet slecht klinkt. Heb je misschien een voorbeeldje aangezien ik niet echt de beste ben in Linux scripting ;)

Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Eerlijk gezegd was ik niet op de hoogte van de ACPI interface, zoals Hero Of Time die aangeeft. Schitterende oplossing eigenlijk.

Maar goed, dat was niet je vraag. Even een snel scriptje in elkaar geflanst (niet getest)

code:
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
#Check whether it is weekend
if [ $(date +%u) -gt 5 ];  then
        # It is. Check whether this is the 08:00 or the 15:30 boot
        if [ $(date +%H) -lt 15 ]; then
                # It is weekend, and not yet 15:00
                # This must be the 08:00 boot
                /sbin/shutdown -h now
        fi
fi


of, wat minder leesbaar maar precies hetzelfde:
code:
1
[ $(date +%u) -gt 5 ] && [ $(date +%H) -lt 15 ] && /sbin/shutdown -h now


Zet die regel in je crontab na een "@reboot" voor de tijd.

offtopic:
Mijn excuses aan de member "reboot", die nu waarschijnlijk een IM krijgt dat hij genoemd is in een topic. Maar dat is nu eenmaal hoe je een cron regel bij het booten laat lopen.

[ Voor 15% gewijzigd door Rainmaker op 26-08-2017 01:10 ]

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • dragon2
  • Registratie: Juni 2008
  • Niet online
Bij 1 van mijn servertjes gaat dit als volgt:
- Wake on power functie in de bios gebruiken
- server uitschakelen iedere nacht via scheduled task in windows server
- een tijdje later gaat de stroom eraf via een schakelklok (wemo/kasa/klikaanklikuit kun je mooie schema's instellen...)
- zodra de stroom er 's ochtends weer op komt via die schakelklok gaat de server weer aan

Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Rainmaker Ik denk dat je mij een beetje verkeerd begreep. Het is de bedoeling dat de server in de week (ma-vrij) vanaf 15:30 (mag ook eventueel 16h zijn als dat makkelijker is) opstart. Dus ik laat hem via de bios opstarten om 8h. Dan kijk ik na of het zaterdag of zondag is, ja: script stoppen, nee: de computer start op om 16h. Klein vraagje: moet je dan de pc om het uur opnieuw laten opstarten? Want het script moet toch opnieuw gecheckt worden? Of zit ik helemaal fout misschien? Als dat moeilijk is, zet ik er inderdaad zoals @dragon2 een schakelklokje tussen, en enable ik de setting: resume on power loss aan in de bios. Dus dan laat ik het klokje gewoon stroom geven op de tijden die ik wil, en dan heb ik enkel een scriptje nodig om de server af te sluiten.

EDIT: Ik heb een schakelklokje gevonden en geprogrammeerd. Nu moet ik enkel de server nog laten afsluiten. Hoe doe ik dit met crontab? Noot: eerst moet het commando "systemctl stop minecraft@bungeecord" , "systemctl stop minecraft@godarnoro" en "systemctl stop spawnlobby" uitgevoerd worden om 22h. (Met als user root, toch?) En daarna, laat ons zeggen 10 minuten erna moet de server worden afgesloten. Ik ben jammer genoeg geen held in cron. Kan iemand mij die 4 voorgekauwde jobs geven? :P

Alvast bedankt!

[ Voor 66% gewijzigd door NiRo op 26-08-2017 11:32 ]


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Als je een systeem afsluit, zorgt systemd al dat de services die draaien gestopt worden. Mits uiteraard systemd de status uit kan lezen. Services die niet uit te lezen zijn, of als status 'stopped', krijgen geen 'stop' commando. Zorg dus dat je services wel netje een status rapporteren als ze draaien. In het ergste geval krijgen ze gewoon een kill -15 om te stoppen. Beste maak je dus gewoon een script en roep je die aan met cron. Zet dat dan in /etc/cron.d of /etc/cron.daily, specificeer de tijd, gebruiker en actie.

Voor het wakker worden, wat is er mis met de link die ik stuurde? Je checkt eerst de huidige dag en bepaald of het systeem de volgende dag om 15:30 of 8:00 aan moet. Dan pas je de genoemde date +x minutes aan naar wat je hebben wilt. Stel dat je het systeem om 0:00 laat uitschakelen en deze morgen weer aan wilt hebben, dan is je commando volgens mijn link het volgende:
code:
1
2
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 480 minutes'` > /sys/class/rtc/rtc0/wakealarm"

Met de eerder aangehaalde optie van Rainmaker kan je iets als dit uitvoeren:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
# Check the next day, 1=Monday, 7=Sunday
nextday=$(date '+%u' -d '+1 day')
if [ $nextday -gt 5 ] ; then
    # it is either Saturday or Sunday, so wake 8 hours later
    waketime="480"
else
    # Wake at 15:30 instead
    waketime="930"
fi

# Set the wake timer
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ ${waketime} minutes'` > /sys/class/rtc/rtc0/wakealarm"

Dat zou dan moeten doen wat je wil. Test het wel eerst even om te zien of je het gewenste resultaat krijgt. Ik check welke dag het morgen is. Als het om 0:00 op zondag draait, ziet het morgen als maandag en start je systeem dus op zondag om 15:30, niet om 8:00. ;) Dat kan je dan weer oplossen door het script om 23:59 te laten lopen.

Commandline FTW | Tweakt met mate


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Ernemmer
  • Registratie: Juli 2009
  • Niet online
@NiRo Ik denk misschien iets te simpel maar kan je niet gewoon een 220v tijdschakelaar gebruiken?
Die stel je precies in op welke tijd en dag hij stroom door moet geven en in de bios zet je de, ''state after power loss'' op ''on''

https://www.elektroshop.n...winter-tijd-weekklok.html

[ Voor 3% gewijzigd door Ernemmer op 26-08-2017 13:42 ]


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Ernemmer Ja, dat gebruik ik nu ook en het is veel handiger als scripts. Alleen bij het afsluiten zit ik nog vast. @Hero of Time gaf een perfecte oplossing welke ik nu ook gebruik maar ik ga weer eens moeilijk doen en er ook graag de functie aan toevoegen om de cronjob te "snoozen". Is dit mogelijk? Bedankt!

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Hoe wil je ze snoozen? Want je kan makkelijk een script maken die eerst controleert of een bestand bestaat en wacht totdat deze er niet meer is bijvoorbeeld. Of een actie doet zoals sleep voor x seconden.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Hero of Time Ik bedoel hierbij dat ik de cronjob bv. 10 minuten kan vertragen door een script, command,...

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Zo zonder er eerder een functie voor in te bouwen niet. Je zal dit dus eerst moeten schrijven in je cron script voordat je de uitvoering ervan kan vertragen. Domweg crond stoppen en later weer starten zorgt er niet voor dat gemiste items alsnog worden uitgevoerd.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
@Hero of Time Enn, hoe doe je dat dan? :)

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 29-09 21:21

Hero of Time

Moderator LNX

There is only one Legend

Moet je mijn vorige reactie even lezen waar ik het uitleg. ;) De rest is redelijk makkelijk erbij te googlen.

Commandline FTW | Tweakt met mate

Pagina: 1