Cosa sono le routine di manutenzione periodica di Mac OS X?

In Mac OS X ci sono tre routine di manutenzione che vengono eseguite periodicamente con scadenza diversa:

  1. Tutti i giorni:
    /etc/periodic/daily/500.daily (/etc/daily in Mac OS X 10.0 e 10.1)
  2. Una volta a settimana:
    /etc/periodic/weekly/500.weekly (/etc/weekly in Mac OS X 10.0 e 10.1)
  3. Una volta al mese:
    /etc/periodic/monthly/500.monthly (/etc/monthly in Mac OS X 10.0 e 10.1)

La routine giornaliera rimuove eventuali file temporanei non eliminati, i log di sistema più vecchi di una settimana e quelli del server http. La routine settimanale ricostruisce i database utilizzati dai comandi locate e whatis ed elimina i log scaduti di vari server (ftp, lookupd, mail, netinfo). La routine mensile genera un resoconto dei login effettuati dai vari utenti della macchina ed elimina quelli dei mesi precedenti.

Esecuzione manuale delle routine

Per eseguire manualmente le routine di manutenzione, si possono usare i seguenti comandi nel Terminale:
(con Mac OS X 10.2 e successivi)

  • sudo periodic daily
  • sudo periodic weekly
  • sudo periodic monthly

con Mac OS X 10.0 e 10.1 diventano:

  • sudo sh /etc/daily
  • sudo sh /etc/weekly
  • sudo sh /etc/monthly

Altrimenti si possono usare diverse utility gratuite come MacJanitor, Maintenance o sterMachine che permettono di avviare le routine da GUI.

Anche tra le Risorse di faqintosh si trova una applet (script applicazione) che esegue le operazioni periodiche di manutenzione.

Esecuzione automatica delle routine

Mac OS X 10.4

In Tiger le routine di manutenzione sono avviate da launchd, il servizio di sistema cui è deputata, tra le altre cose, l'esecuzione automatica delle operazioni pianificate. Gli orari e i giorni in cui vengono eseguite le tre routine sono definiti rispettivamente nei file

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

In teoria, nel caso in cui all'orario definito il computer fosse spento o in stop, launchd dovrebbe eseguire l'operazione pianificata alla successiva attivazione della macchina. A giudicare dai log (/var/log/daily.out, /var/log/weekly.out e /var/log/monthly.out), launchd non sembra così rigoroso nell'esecuzione di queste operazioni, in particolare di quella mensile. Nel caso in cui si volesse una maggiore precisione, si può installare l'utility Anacron per Tiger, che verifica periodicamente che le pianificazioni previste siano state eseguite.

Mac OS X 10.3 e precedenti

In Panther e nelle precedenti versioni di OS X, gli orari e i giorni in cui le routine vengono eseguite automaticamente dal sistema sono definiti nel file /etc/crontab. L'orario impostato di default è intorno alle 3 di notte, ma il computer deve essere attivo. Se a quest'ora il vostro computer in genere è spento o in stop, si possono seguire due strade diverse: o modificare gli orari definiti in crontab utilizzando l'utility CronniX oppure installare Anacron per Panther e versioni precedenti, che farà in modo che le operazioni pianificate in crontab vengano eseguite alla successiva attivazione del computer.


Circolano diverse leggende metropolitane riguardanti l'effetto che queste manutenzioni periodiche avrebbero sulle prestazioni del sistema, ma –come si può capire andando a vedere cosa effettivamente fanno queste routine– le leggende sono del tutto infondate.
L'unico effetto negativo che la mancata esecuzione delle routine può determinare è tutt'al più l'accumulo di qualche file di log.

[ Home | Elenco delle FAQ | Forum | Segnalazioni | Risorse | Feed RSS ]