[Megoldva] Szerver ütemezett be- és kikapcsolása

A kikapcsolással ugye nincs gondom. Cronrabba a megfelelő bejegyzés és rendben van. De a bekapcsolás már problémásabb. Találtam egy posztot, de nem tudom értelmezni az ott látható bash scriptet. Ebben kérem a segítségeteket:

/root/bin/shutwake.sh

# unset alarm, set new time
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 600 minutes'` > /sys/class/rtc/rtc0/wakealarm" 
/sbin/poweroff

# Then you need to add a line in cron to shutdown:

0     23      *       *       *       /root/bin/shutwake.sh

Ebből azt értem, hogy este 11-kor lefutassa a shutwake szkriptet. De mi is van benne? Mi is ez a wakealarm? Amit szeretnék: minden reggel mondjuk 6-kor bekapcsol a szerver és 22-kor kikapcsol.

Hozzászólások

A scriptben az lesz, amit beleírtál. Ez nem gondolom, hogy bármelyik rendszeren alap alkatrész, esetleg valamilyen BIOS feature-t használ ki. A bekapcsoláshoz vagy BIOS feature kell, vagy wake on lan, esetleg egy spéci sleep mód, ahol csak picit sleep.

A script este 11-kor:
- beállít egy ébresztést 10 órával későbbre
- kikapcsolja a gépet

A wakealarm valami csomag lehet, ami egy félig alvó gépet (RTC=realTimeClock) fel tud ébreszteni. Ki kell próbálni, ez milyen alaplap és bios kombóval megy. Egyszerűbb ha egy másik gép felkelti wakeonlan-nal. Vagy egy arduino megnyomja a bekapcs gombot. (Ha már hacky megoldás (mert egy szervert nem kapcsolgatunk ki-be))

Igen főként áram miatt. És este nem használják a szolgáltatásokat amik a szerveren futnak. Csak munkaidőben. Mondjuk azt el tudom képzelni, h a bekapcs legyen mondjuk a portás dolga a reggeli nyitáskor. 😀 Human powered poweron.

“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”

― Philip K. Dick

"Mondjuk azt el tudom képzelni, h a bekapcs legyen mondjuk a portás dolga a reggeli nyitáskor."

Az egyik korai munkahelyemen ez volt, mármint hogy az első ember aki beért, beindította a szervert (az még N. netware volt). Ez úgy működött, hogy a kolléga 1. beért, megnyomta a power gombot és ment tovább. Jött a kolléga 2., ő is megnyomta a power gombot (szerver klatty, leállt), és ment tovább. Jött a kolléga 3, power gomb, szerver zzzZZ elindult.

Aztán ragasztottam egy műanyag fedőt a power gomb fölé.

Micsoda retró élmények. Talán 10-12 éve játszadoztam ilyennel utoljára. Nem volt sok értelme, hamar abbahagytam, macera volt. Mennyivel egyszerűbb ma már felhőben, ahol akár api-val lehet ki-be kapcsolgatni a VM-eket :) (már ahol még VM-et használunk)

 

Mire éri meg onprem gépet használni irodában? (nem mondom, hogy nincs olyan feladat amire nem jó, csak kíváncsi vagyok)

Egyébként valóban. 10 éve még el nem tudtam volna képzelni, hogy valami komolyabb service-t, szolgáltatást felhőben futtassak, Vm-eken vagy bármin.

Ma már válogatni lehet a különböző platformok között. Persze okosan kell megválasztani, hogy mikor éri meg a VM, mikor a serverless, mikor a CDN, stb.

WakeOnRTC-t már egy közepes desktop MB tudott BIOS-ból. Egyszer volt olyan felhasználásom, hogy hajnali 3-kor kapcsoljon be, töltsön le valami frissítést, majd kapcsoljon ki. A futó script csekkolta, hogy ha nem a 3 órás indítás volt (valaki bekapcsolta napközben), akkor nem kell leállni. 

Nem tudom, mi volt a neve, de a Leadtek TV tuner programja is valami ilyesmit csinált 10+ éve, valahogy BIOS/ACPI szinten be tudta ütemezni, hogy felkeljen egy tök mezei asztali gép, hogy elinduljon a felvétel.  Na meg mintha a Windows is tudna ilyet frissítésekhez (bár ott alvó módból), de nekem folyamatosan mennek a Windows-os gépeim (és nem fagynak meg :D , max frissítésnél indulnak újra)

Ha meg nem megy, akkor meg valami okosabb routerről WOL-on felpiszkálni ütemezve. 

Színes vászon, színes vászon, fúj!

Kérem a Fiátot..

Én kapcsolgatok így egy gépet itthon. Kikapcsolás shutdown script. Bekapcsolás BIOS Wake up feature BIOS óra alapján. 

Szerkesztve: 2023. 11. 10., p – 09:40

Nekem az rtcwake vált be. https://linux.die.net/man/8/rtcwake Ez egy mini előtét program, belül ugyanúgy az rtc/wakealarm device-t használja, az előnye, hogy nem kell a dátumformázással vacakolni, hogy beállítás és platformfüggetlenül jól működjön, hanem simán megadhatod hogy hány másodperc múlva kell felkelni. (Bár most látom, a wakealarm device is egy számot vár, ami talán Linux epoch óta eltelt másodperc. Az RTC clockkal az időzónába, téli nyári időbe azért beletörhet az ember bicskája, ha nem vigyáz!) Programozóbarátabb.

Laptoppal csináltam olyat, hogy felkel és elkezd zenélni - ébresztőnek. Kipróbálgattam több géppel is, a BIOS beállításokon is múlik, illetve volt olyan gép, ami áramszünet esetén nem volt hajlandó bekapcsolni akkuról. Aztán ha visszajön az áram bekapcsol-e? Szóval ha erre akarsz várat építeni, akkor ezeket ki kell próbálni, sajnos nem egy tisztességesen specifikált és dokumentált terület. De működik ha szerencséd van, vagy elég kitartóan válogatsz hozzá hardvert.

Szerkesztve: 2023. 11. 10., p – 09:49

Egyébként proxmox fut a szerveren. Találtam ezt az oldalt is. Ez a systemd wol.service-t használja. Ez sokkal szimpatikusabb. 

Edit.: Hülyeséget írtam. Ehhez másik gép kellene.

“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”

― Philip K. Dick

Régebben (cc 15-20 éve) egy ilyen szitu úgy volt megoldva, hogy a lekapcsolás időzítővel, a bekapcsolás meg úgy, hogy biosban be volt állítva, hogy áramszünet után bekapcsolt állapotban legyen és egy időzítő kapcsoló, amibe a gép tápja volt bedugva, a megadott időpont előtt 10 perccel lekapcsolt, majd a bekapcsolási időpontban visszakapcsolt. A bios pedig tette a dolgát.

Vagy pl. egy APC Smart szünetmentessel aminek a Scheduling funkciója a megadott időbe ki majd később visszakapcsolta a szünetmentest egyben a gépek tápellátását és a felügyeleti szoftverén keresztül kezdeményezte a gépek leállítását is.
--
Légy derűs, tégy mindent örömmel!

Engem jól beszopatott anno az APC ezzel a SmartUps-sel. Mert írták h. controlled outlet group-okat tud a SmartUps széria (SMT***), és az milyen fasza mert akkor merülés függvényében a kimenetek egy részét le lehet kapcsolni. Így a kritikusabb rendszerek még tudnak tovább futni hátha időközben visszajön az áram mielőtt teljesen lemerül az akku. Nosza meg is vettem a legkisebb, nekem teljesen megfelelő méretű tagját a családnak: egy SMT750I-t (DC 750VA, AC 500W). Mikor konfigurálnám a programjából, csak nem akarja mutatni azt a nyavalyás outlet group-okat. Akkor ott félreraktam a témát. Hónapokkal később akadtam rá a user guide-ban egy sokadik oldalon elrejtett megjegyzésre, h. a controlled outlet group-okat csak az SMT1000***-tól kezdve tudja. Ergo az SMT750I pont nem. Innentől már nem volt nehéz olyan összehasonlító táblázatot keresni a support oldalon, ahol az SMT750I oszlopában a controlled outlet group YES helyett éppen NO volt.

Szerkesztve: 2023. 11. 10., p – 10:46

Ezt a tutorialt követve kiderült, hogy működik az rtc alarm. Most már csak egy gondom lenne. Hogyan lehet beütemezni a hétvégét? Vagyis csak hétköznap induljon.

Szerk. Megoldottam. Cronból.

0 20 * * 1-5

“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”

― Philip K. Dick

ha esetleg maguktól nem állnának le a HDD-k, akkor az a hwparm -al lehet automatizálni.
nekem mentő szerveren, ami gyarkotlatilag csak esténként fogad adatokat évek óta ez megy.

Bár már említve volt korábban, de szeretném újra megismételni: ez a folyamatos ki-be kapcsolgatás többet fog ártani hosszú távon mint amit az áramszámlán nyerni lehet.

Továbbá ma már egyre több esetben illik titkosítani a diszkeket, ennek a távfeloldása pedig további előzetes tervezést igényel.