0 votes

Liste des sauvegardes Time Machine d'un fichier

Si j'ai un chemin d'accès à un fichier ou à un répertoire, comment puis-je lister toutes les sauvegardes Time Machine de ce chemin d'accès ?

2voto

Meisner Points 421

Voici ma tentative :

#!/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

2voto

nohillside Points 82672

En supposant que vous n'avez pas changé le nom de votre disque principal de 'Macintosh HD' à quelque chose d'autre, vous pouvez lancer l'opération suivante

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

pour voir toutes les versions stockées dans TimeMachine.

PS realpath n'est disponible que si vous avez installé GNU coreutils (par exemple via brew). Sinon, utilisez $(pwd)/FILENAME ou (si cela ne fonctionne pas parce qu'il y a des liens symboliques) spécifier le chemin complet à la place.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X