Jabuk
Skripta za shutdown
Jablanator

Jablanator

Pridružen/a: 06.08.2008
Prispevkov: 180
Ni navedeno

Poglej uporabnikov profil
Prispevek: #1   Objavljeno 27.05.2015 11:31:41
Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
Zdravo, ker vsi UPS-i ne podpirajo nativno v OS X vgrajeno komunikacijo z UPS napravo (sam imam PowerWalker UPS ki za delovanja potrebuje namestitev programa ki teče v Javi...in je jasno napisan slabo in ne deluje ok, da o vmesniku ne govorim) je moja ideja sledeča:

iMac je priključen na UPS. Ko zmanjka elektrike, UPS preklopi na baterijo MAC deluje. Ker modem/router ni na UPS, le ta crkne in ni dostopen.
Ideja je, da bi spisal skripto, katera bi tekla v ozadju, kjer vsakih nekaj minut MAC pinga router, če ga vidi je ok, če ga ne vidi v npr. 3 zaporednih poizkusih (recimo v času 3 minut) pa skripta ugasne MAC računalnik.
Pač izhaja si iz predpostavke, da če router ni dostopen je najverjetneje zmanjkalo elektrike, kar pomeni, da ga bo slej kot prej tudi UPS-u in je najvarneje da se Mac izključi.


Torej:
1.) Rad bi pomoč pri zapisu skripte, ki preveri dostop do routerja in ugasne Mac, če je router "down".
Nekaj takega najbrž (pomoč dobrodošla, ker mi ne gre od rok pisanje skript):

Koda:
if ping -c 2 192.168.1.1 > /dev/null;
then
shutdown -h now


2.) rad bi da se izvede ob zagonu in teče v ozadju s sistemom.

Verjetno v /Library/LaunchDaemons/ ustaril neko *.plist ki kliče zgornjo skripto s .sh končnico. Oboje mora biti verjetno executable.


Če je kdo vešč, naprošam za pomoč pri izvedbi.
Najprej da iz terminala z ukazi ki so zapisani v skripti probamo ali delujejo ukazi v skripti pravilno in če ja, da potem to avtomatiziramo da teče v ozadju in se naloži ob zagonu.


Vnaprej hvala za pomoč!
Stevie Jobs

Stevie Jobs

Pridružen/a: 08.10.2008
Prispevkov: 4549
Ni navedeno

Poglej uporabnikov profil
Prispevek: #2   Objavljeno 27.05.2015 12:37:20
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
jaz ti lahko pomagam samo tolko, da ti povem, če boš delal skripto v script editorju jo lahko exportaš kot applikacijo in enostavno dodaš v login items v system preferences/accounts in jo bo zalaufal ob vsakem zagonu.
Jablanator

Jablanator

Pridružen/a: 06.08.2008
Prispevkov: 180
Ni navedeno

Poglej uporabnikov profil
Prispevek: #3   Objavljeno 27.05.2015 13:53:57
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
hhsk je napisal/a:
jaz ti lahko pomagam samo tolko, da ti povem, če boš delal skripto v script editorju jo lahko exportaš kot applikacijo in enostavno dodaš v login items v system preferences/accounts in jo bo zalaufal ob vsakem zagonu.


Bi šlo tudi preko Script Editorja verjetno, samo prvi del s pingom je treba primerno vdelati.
Tole sem našel za shutdown:
https://www.dssw.co.uk/blog/2010-09-09-how-to-shut-down-your-mac-using-applescript/
In tole za pinganje:
https://discussions.apple.com/thread/4001977?tstart=0
Jablanator

Jablanator

Pridružen/a: 06.08.2008
Prispevkov: 180
Ni navedeno

Poglej uporabnikov profil
Prispevek: #4   Objavljeno 28.05.2015 22:31:17
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
Sem pričakoval, da je več znalcev na forumu kar se tiče skript in UNIX shella.

Po nekaj urah surfanja in branja navodil za Applescript sem spacal tole, ce bi se komu prislo prav:

Koda:
set remoteMachine to "eppc://uporabnik:geslo@Mac-mini.local"
try
   set thePing to do shell script "/sbin/ping -o -c 3 192.168.1.2" --pinga router prvic ce je odziv takoj neha s pingom
on error
   delay 30 --pocaka 30s
   try
      set thePing to do shell script "/sbin/ping -o -c 3 192.168.1.2" --pinga router drugic
   on error
      using terms from application "Finder"
         tell application "Finder" of machine remoteMachine
            shut down -- ce ni odziva od routerja  ugasne Mac mini-ja v lokalni mrezi
         end tell
      end using terms from
      do shell script "sudo shutdown -h +2 &" --brezpogojno ugasne iMac-a po 2 minutah na UPS (ugasne iMaca, cetudi so kje npr. odprti "Save changes" dialogi)
      tell application "System Events" to shut down --medtem poizkusa lepo "clean" ugasnit iMaca (ce so odprti save dialogi ne bo uspesno)
   end try
end try


Skripta deluje ok, ni lepa, deluje pa Cool . Če ne najde routerja (ni odziva od ping ukaza, kar pomeni navadno, da je zmanjkalo toka) ugasne Mac mini preko remote ukaza po mreži in potem še iMaca.

Sedaj moram samo še zrihtat, da se bo skripta zagnala recimo vsakih 10min (UPS mi zdrži dobre pol ure napajanja).
Ena možnost z LaunchAgentom:
http://www.thesafemac.com/scheduling-recurring-tasks/
Druga pa z idle ukazom v sami skripti:
http://www.peachpit.com/blogs/blog.aspx?uk=Mac-Productivity-Scheduling-AppleScripts
Stevie Jabuk

Stevie Jabuk

Pridružen/a: 21.03.2008
Prispevkov: 457
Ni navedeno

Poglej uporabnikov profil
Prispevek: #5   Objavljeno 29.05.2015 10:50:36
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
Uporabi Lingon, pa nastavi user agenta, ki zažene shell skripto.
Tako mam jaz rešene nastavitve (automount), ko menjam wifije.
Stevie Jabuk

Stevie Jabuk

Pridružen/a: 01.12.2007
Prispevkov: 417
Ni navedeno

Poglej uporabnikov profil
Prispevek: #6   Objavljeno 08.06.2015 10:22:12
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
Samodejno zaganjanje lahko tudi z crond & crontab rešiš...
Stevie Jabuk

Stevie Jabuk

Pridružen/a: 21.03.2008
Prispevkov: 457
Ni navedeno

Poglej uporabnikov profil
Prispevek: #7   Objavljeno 09.06.2015 13:14:50
Re: Skripta za shutdown
Odgovori s citatom Dodaj uporabnika na seznam ignoriranih
Tomba je napisal/a:
Samodejno zaganjanje lahko tudi z crond & crontab rešiš...


A cron laufa tudi Applesript? V nasprotnem primeru je bolje cron-at navadno shell skripto.
Slabost/prednost crona je, da laufa skripte neodvisno od tega ali je uporabnik logiran ali ne. Z Lingon/launchd to lahko izbiraš.
Ne moreš dodajati novih tem
Ne moreš odgovarjati na teme
Ne moreš urejati svojih prispevkov
Ne moreš brisati svojih prispevkov
Ne moreš glasovati v anketi
Pokaži sporočila:
Pojdi na:
Jabuk.si Vsa vsebina spletne strani je last Jabuk.si in njegovih članov. © 2004 - 2020 Jabuk.si Kontakt Kontakt   Domov Domov   Na vrh strani Na vrh strani