Elenca i backup di Time Machine di un file

0

Se ho un percorso di file o directory, come posso elencare tutti i backup di Time Machine di quel percorso?

    
posta JW. 17.03.2016 - 19:20
fonte

2 risposte

2

Ecco il mio tentativo:

#!/bin/bash
# list Time Machine backups of a file starting with most recent

if [ "$#" -ne 1 ]; then
    echo "Usage: list_backups.sh filename"
    exit
fi

filename='realpath "$1"'

# find root volume path
for vol in /Volumes/*; do 
    if [ "$(readlink "$vol")" = / ]; then 
        root_vol=$vol
    fi
done 

# prepend it to input path if necessary
if [[ "$filename" != /Volumes* ]]; then
    filename="$root_vol$filename"
fi

# remove /Volumes from input path
filename="${filename///Volumes}"

# loop over backups in reverse order
tmutil listbackups | tail -1000 -r |
while IFS= read -r line; do
    if [ -e "$line$filename" ]; then
        ls -ald "$line$filename"
    else
        echo "not in $line"
    fi
done
    
risposta data 17.03.2016 - 19:20
fonte
2

Supponendo che non hai cambiato il nome della tua unità principale da 'Macintosh HD' a qualcos'altro, puoi eseguire

ls -l /Volumes/Time\ Machine/Backups.backupdb/$(hostname -s)/*/Macintosh\ HD/$(realpath FILENAME)

per vedere tutte le versioni memorizzate in TimeMachine.

PS realpath è disponibile solo se hai installato GNU coreutils (ad es. tramite brew). Altrimenti usa $(pwd)/FILENAME o (se questo non funziona perché sono coinvolti alcuni link simbolici), specifica invece il percorso completo.

    
risposta data 17.03.2016 - 19:33
fonte

Leggi altre domande sui tag