0 votes

tmutil ne crée pas un vrai snapshot (depuis Catalina ?)

J'utilise rsync au-dessus d'un mount_apfs snapshots Il est possible de sauvegarder une vue cohérente du système de fichiers sans devoir arrêter les applications pendant la sauvegarde.

Après avoir étudié l'erreur rsync 'file has vanished', j'ai découvert que tmutil ne crée pas de vrais snapshots :

15:50:34 [admin@MAC10143-ROTH ~]$ tmutil snapshot /
Created local snapshot with date: 2020-12-21-155054
15:52:08 [admin@MAC10143-ROTH ~]$ sudo mount_apfs -o rdonly -s "com.apple.TimeMachine.2020-12-21-155054.local" / /tmp/snap
Password:
15:52:30 [admin@MAC10143-ROTH ~]$ cat /etc/profile
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi
...
15:53:20 [admin@MAC10143-ROTH ~]$ vi /etc/profile

  <File is changed>

15:58:42 [admin@MAC10143-ROTH ~]$ cat /tmp/snap/etc/profile
# System-wide .profile for sh(1)
#             <====
# TEST CHANGE <====
if [ -x /usr/libexec/path_helper ]; then
...

Comme vous pouvez le voir, tous les changements sont reflétés dans le snapshot monté. J'ai également essayé d'ajouter et de supprimer des fichiers.

Je pense que le problème est que Catalina a commencé à diviser l'ensemble du système de fichiers en un volume système en lecture seule et un volume de données (et peut-être autre chose ?) :

16:07:33 [admin@MAC10143-ROTH ~]$ df -h
Filesystem                                                   Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk1s6                                                466Gi   11Gi  176Gi     6%  488281 4881964599    0%   /
devfs                                                       197Ki  197Ki    0Bi   100%     682          0  100%   /dev
/dev/disk1s5                                                466Gi  276Gi  176Gi    62% 2492125 4879960755    0%   /System/Volumes/Data
/dev/disk1s4                                                466Gi  2.0Gi  176Gi     2%       2 4882452878    0%   /private/var/vm
/dev/disk1s1                                                466Gi  804Ki  176Gi     1%      88 4882452792    0%   /Volumes/Macintosh HD - Data
map auto_home                                                 0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/home
map -fstab                                                    0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/Network/Servers
/dev/disk3s1                                                 25Gi   com.apple.TimeMachine.2020-12-21-155054.local@/dev/disk1s6  466Gi   11Gi  176Gi     6%  488281 4881964599    0%   /private/tmp/snap
16:07:35 [admin@MAC10143-ROTH ~]$

Je pourrais essayer de monter les systèmes de fichiers plus spécifiques, mais le problème est que je veux rendre l'ensemble du / visible pour rsync, afin d'effectuer une sauvegarde du système. Y a-t-il un moyen ?

2voto

dallen Points 2393

Je vais répondre moi-même, même si c'est une réponse partielle.

Lorsque tmutils est utilisé avec des partitions telles que / Bien que le résultat ne soit pas un véritable instantané, le système de fichiers que je monte de cette façon reflète le système original en temps réel (c'est-à-dire que tout changement dans l'original est immédiatement visible dans l'"instantané").

Pour que cela fonctionne, je dois monter les partitions comme ceci :

vol_path=/System/Volumes/Data
snap_id=$(tmutil snapshot "$vol_path" | sed s/'Created local snapshot with date: '//)
mount_apfs -o rdonly -s "com.apple.TimeMachine.${snap_id}.local" "$vol_path" snap-mnt

Cela fonctionne bien lorsque vous voulez sauvegarder un sous-répertoire comme /System/Volumes/Data/Users/user/ .

Le revers de la médaille est que des répertoires comme /etc ne sont pas sous Data/ mais /etc/ est en fait un lien vers Data/private/ On ne perd donc pas grand-chose en sauvegardant uniquement le répertoire Data/.

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