Vai al contenuto


USI TWITTER? Allora devi assolutamente seguire @tevac e non puoi perderti @lo_ziopino!

Foto

Programmare l'esecuzione degli scripts di Onyx

Onyx manutenzione UNIX

  • Per cortesia connettiti per rispondere
5 risposte a questa discussione

#1 ClaT

ClaT

    Melina di Platino

  • Forum Staff
  • 7100 messaggi
  • Sesso:Maschietto
  • Località:Santena (TO)
  • Interessi:Libri e Musica (le mie salvezze), poi il Toro, il Mac, i film. Lo Sport, mi manca da matti.

Inviato 27 giugno 2012 - 14:56

Ciao a tutti.
Se non ricordo male, nelle vecchie versioni di Onyx era possibile programmare la data e l'ora dell'esecuzione degli script di manutenzione UNIX.
Nell'attuale versione per Lion, la 2.4.6, mi pare invece che ciò non sia più possibile.
Sbaglio?
Se no, ci sono metodi per sopperire al fatto?
I coglioni sono molto più di due...

#2 Vladimiro Paglianti

Vladimiro Paglianti

    Quasi di Casa

  • Forum User +
  • 417 messaggi

Inviato 27 giugno 2012 - 15:14

Perchè hai necessità di gestire questa cosa? Gli script vengono eseguiti appena è possibile in automatico, se la macchina è spenta od in stop al momento in cui ne è programmata l'esecuzione.

Se vuoi verificare quando sono stati eseguiti, puoi controllarlo da Console.app, dentro la cartella /var/log. I file si chiamano daily.out, weekly.out e monthly.out.

Messaggio modificato da Vladimiro Paglianti, 27 giugno 2012 - 15:17


#3 ClaT

ClaT

    Melina di Platino

  • Forum Staff
  • 7100 messaggi
  • Sesso:Maschietto
  • Località:Santena (TO)
  • Interessi:Libri e Musica (le mie salvezze), poi il Toro, il Mac, i film. Lo Sport, mi manca da matti.

Inviato 27 giugno 2012 - 15:19

Perchè hai necessità di gestire questa cosa?


Più che altro era una curiosità.

Gli script vengono eseguiti appena è possibile in automatico


Dal sistema?

se la macchina è spenta od in stop al momento in cui ne è programmata l'esecuzione.


Sempre dal sistema?
I coglioni sono molto più di due...

#4 Vladimiro Paglianti

Vladimiro Paglianti

    Quasi di Casa

  • Forum User +
  • 417 messaggi

Inviato 27 giugno 2012 - 16:07

Un tempo OSX utilizzava cron e crontab per queste cose. Ora il tutto è gestito da launchd, che è un processo al cuore del sistema operativo (è il secondo processo che va in esecuzione, subito dopo il kernel), che gestisce tutti i servizi, gli script e le applicazioni. launchd si configura utilizzando dei file xml (con estensione .plist) che vengono gestiti dal programma launchctl. Se sei curioso e vuoi vedere i file di configurazione che istruiscono launchd su come e quando eseguire gli script di manutenzione, risiedono in:

/System/Library/LaunchDaemons/com.apple.periodic-daily.plist
/System/Library/LaunchDaemons/com.apple.periodic-weekly.plist
/System/Library/LaunchDaemons/com.apple.periodic-monthly.plist

Fai attenzione però, perchè stiamo parlando di una cartella che è al cuore del sistema operativo, e se fai qualche cosa di sbagliato.... bum!
Per soddisfare la curiosità senza farti mettere le mani in pasta, riporto, ad esempio, il file .plist che istruisce launchd circa l'esecuzione della manutenzione giornaliera:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.periodic-daily</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/periodic</string>
<string>daily</string>
</array>
<key>LowPriorityIO</key>
<true/>
<key>Nice</key>
<integer>1</integer>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
<key>AbandonProcessGroup</key>
<true/>
</dict>
</plist>

In questo caso, lo script che viene eseguito è /usr/sbin/periodic, con il parametro daily. Viene eseguito ogni giorno alle 3 e 15.
Pertanto, se tu volessi eseguire in questo preciso momento lo stesso script, fregandotene della pianificazione automatica fatta dal sistema, ti basterebbe scrivere, da shell:

sudo periodic daily

(non è necessario scrivere la path completa dalla shell perchè la path /usr/sbin è già settata come posto dove andare a cercare i programmi da bash)

Il sistema operativo gestisce 5 diverse cartelle contenenti questi file, a seconda dei privilegi con cui devono essere eseguiti, e dal dominio su cui agiscono. Si differenziano tra demoni (LauchDaemons) e agenti (LauchAgents). La differenza principale tra i due (semplificando) è che i primi non necessitano che un utente sia loggato per essere eseguiti, mentre i secondi si.
Le 5 cartelle sono:

~/Library/LaunchAgents (contiene gli agents definiti dall'utente)
/Library/LaunchAgents (contiene gli agents definiti dall'amministratore)
/Library/LaunchDaemons (contiene i demoni definiti dall'aministratore)
/System/Library/LaunchAgents (contiene gli agents definiti dal sistema operativo)
/System/Library/LaunchDaemons (contiene i demoni definiti dal sistema operativo)

Lo stesso formato .plist viene utilizzato anche da tutte le applicazioni, ciascuna delle quali ha almeno un file .plist con le preferenze del programma.
Hai presente quel comando "magico" defaults write .... o defaults read .... che spesso appare segnalato per attivare funzioni nascoste dei vari programmi? Bene, semplicemente quel comando serve a leggere o scrivere il valore di una particolare chiave di configurazione contenuta in un determinato file .plist, associato al dominio dell'applicazione.

Messaggio modificato da Vladimiro Paglianti, 27 giugno 2012 - 16:14


#5 Pike

Pike

    Melina d'Argento

  • Forum User +
  • 2861 messaggi
  • Sesso:Maschietto
  • Interessi:IT, Networking, Tecnologia, Moto, Pappare bene, Auto, Bere Bene

Inviato 27 giugno 2012 - 16:33

Quoto Vladimiro.
Onyx è una interfaccia "semplice" per far girare quando pare a noi gli script di manutenzione sistema. Che tra le altre cose, fanno ruotare i log.
Groucho Marx, about me...

Quest'uomo sembra un cretino, parla come un cretino, si comporta come un cretino, ma non fatevi ingannare: quest'uomo, è davvero un cretino!


#6 ClaT

ClaT

    Melina di Platino

  • Forum Staff
  • 7100 messaggi
  • Sesso:Maschietto
  • Località:Santena (TO)
  • Interessi:Libri e Musica (le mie salvezze), poi il Toro, il Mac, i film. Lo Sport, mi manca da matti.

Inviato 28 giugno 2012 - 15:01

Grazie mille Vladimiro sei stato estremamente esaustivo.
Rileggerò il tuo post ancora per assimilarlo.
I coglioni sono molto più di due...





Anche taggato con Onyx, manutenzione, UNIX