# Time Machine (software)

Time Machine è un programma di backup automatico annunciato il 7 agosto 2006 da Apple Inc. durante il Worldwide Developers Conference. Il programma è stato incluso con la versione del sistema operativo Mac OS X Leopard.
Time Machine crea delle copie di ogni file utente in modo che se il file dovesse venir sovrascritto o cancellato l'utente possa tornare alla versione precedente. Il programma può recuperare la versione precedente di un singolo file o di gruppi di file. Time Machine non funziona unicamente con i file del Finder ma è in grado di recuperare precedenti versioni di programmi. Il programma per esempio è in grado di recuperare album fotografici cancellati da iPhoto o schede cancellate dalla Rubrica Indirizzi. Il programma effettua il backup dei file modificati ogni ora per le ultime 24 ore. Dei backup più vecchi di un giorno viene mantenuto solo uno per la giornata al fine di non occupare inutilmente spazio.
Quindi l'utente può aver accesso alle modifiche effettuate nell'ultimo giorno con passi di un'ora o nell'arco del periodo precedente con il passo di un backup al giorno. Quando il sistema termina lo spazio disponibile sul disco il programma provvede a rimuovere i backup più vecchi. Time machine permette di recuperare l'intero sistema operativo e non solo i file dell'utente. Quindi se l'utente lo desidera può utilizzare il programma per riportare l'intero computer allo stato presente in uno dei backup o per migrare il sistema su un nuovo computer Apple.

## Interfaccia grafica

Il programma è dotato di un'interfaccia grafica coreografica. Una volta selezionato l'elemento che conteneva i file da recuperare (cartelle, programmi, ecc.) si attiva il programma. Il programma fa scomparire il Finder e mostra uno sfondo stellato che si muove, in primo piano la finestra o il programma selezionato e dietro la finestra mostra in prospettiva le precedenti versioni temporali dell'elemento da recuperare, in fondo viene mostrato quello che sembra un nucleo stellare. A destra viene mostrata una linea del tempo scorribile, che permette di "navigare" tra le varie copie temporali della finestra selezionata. Quindi è come se le singole finestre acquisissero una dimensione temporale e questo spiega il nome del programma ("Time Machine" in inglese significa "macchina del tempo"). La rappresentazione grafica del programma è ottenuta tramite il sistema Core Animation inclusa nel sistema operativo. L'utente può utilizzare Quick Look per visualizzare i file e decidere se recuperare il file.

## Tecnologia

Il programma genera per ogni backup una cartella sul volume destinato al backup. I file che non sono stati modificati vengono collegati alle versioni precedenti con degli hard link mentre i file modificati vengono copiati integralmente. Il programma non effettua un backup incrementale ma copia ogni volta l'intero file modificato. Quindi anche una piccola modifica in un file costringe il sistema a effettuare una copia completa del file durante il backup. Apple ha reso disponibili delle API per poter utilizzare Time Machine all'interno di programmi di terze parti, API che sono state denominate Backup Core. Per funzionare, il programma richiede un hard disk esterno con una partizione non avviabile o un computer con macOS Server nella rete locale.
La gestione delle revisioni a livello di file system si trova anche nei file system di OpenVMS, in Microsoft Windows 2003, Windows Vista, DragonFlyBSD con HammerFS.
L'impostazione di Time Machine prevede un backup ogni ora. Tuttavia, conserverà i backup orari delle ultime 24 ore, quelli giornalieri dell'ultimo mese e quelli settimanali fino a quando non si esaurirà lo spazio su disco. Al verificarsi di questo evento, si verrà avvisati che i backup più vecchi saranno rimossi.

## Configurazione

Gli utenti possono modificare alcune impostazioni di Time Machine riguardanti il backup, tra le quali:
* è possibile modificare il volume dove Time Machine salverà i backup e le impostazioni;
* si possono escludere alcune tipologie di file o intere cartelle.

## Time Capsule

Nel keynote del 15 gennaio 2008, Jobs presentò Time Capsule: esteticamente simile all'AirPort Extreme, oltre a integrare le medesime funzioni di quest'ultimo, contiene un hard disk da 1 TB o da 2 TB a seconda del modello scelto, che permette a Time Machine di effettuare backup di qualsiasi Mac. Il backup potrà avvenire sia via LAN che via Wi-Fi.