Modo pulito per preservare le autorizzazioni nei backup da Linux archiviati su NTFS


0

Con cygwin, rsync e SSH ho creato un meccanismo di backup che copia tutti i contenuti di vServers (che eseguono Debian) sul mio disco rigido NTFS locale (che esegue Windows 10) e funziona. Parzialmente.

Io uso questo comando:

rsync -avzu --no-perms \
  --exclude 'bin' \
  --exclude 'dev' \
  [...]
  --exclude 'sys' \
  --exclude 'tmp' \
  --exclude 'var/tmp' \
  --exclude 'var/cache' \
  [user]@[domain]:/ /var/vserver-backup

E, naturalmente, fa sì che tutti i file perdano le autorizzazioni quando vengono copiati (questo a causa --no-permsdell'argomento). Inoltre, non sono del tutto sicuro che sarò in grado di copiare correttamente i collegamenti simbolici sul vServer.

Quello che voglio è che i file locali (le copie) siano accessibili da solo su questo computer locale (usando NTFS) . Poiché le autorizzazioni di Linux sarebbero mappate selvaggiamente su uno dei miei account di computer locali e quindi potrebbero non essere accessibili, l'utilizzo di NTFS-ACL non sembra una buona idea, giusto? D'altra parte, voglio essere in grado di ripristinare in modo pulito quel backup, inclusi ACL e symlink . E sì, il vServer ha impostato ACL estesi su alcuni file e persino directory (impostati usando setfacl).

Questo probabilmente sarebbe possibile se lo usassi tarinvece di rsync, no? Ma ciò richiederebbe molto più tempo in quanto non solo trasmetterebbe il delta, giusto? (Non sono sicuro di taressere una possibilità a tutti ...)

Quindi c'è forse un modo su Debian di creare automaticamente un file contenente i permessi di tutti i file e le posizioni dei collegamenti simbolici, in modo che possa essere eseguito dopo aver ripristinato il backup? Immagino che sia uno script di shell in questo formato:

chown root:root /var
chmod 0755 /var
chown root:root /var/data
chmod 0755 /var/data
[...]
ln -s /etc/some/file /etc/path/to/symlink
[...]
chown root:root /www
chmod 0700 /www
setfacl -d -m g:www-data:rx /www

Questo file sarebbe ovviamente creato sul lato server e copiato dal comando rsync sul disco rigido locale insieme a tutti gli altri file.

C'è un modo noto per farlo? O hai altri suggerimenti? Cosa faresti?


1
Vorrei usare tar ....
qasdfdsaq il

@qasdfdsaq Ma ciò richiederebbe, nel peggiore dei casi, di avere il doppio dello spazio sul vServer rispetto ai dati stessi. Non voglio fare affidamento su questo.
Matmarbon,

No, avresti esattamente la stessa quantità di spazio per archiviare i file normalmente
qasdfdsaq

@qasdfdsaq Ma dove verrà archiviato l'archivio tar? Almeno al momento della creazione, deve essere sul vServer e, nel peggiore dei casi, occupa lo stesso spazio dei file stessi. Quindi ho bisogno del doppio dello spazio di cui avrei bisogno normalmente.
Matmarbon,

1
Viene archiviato ovunque si stiano scrivendo i backup correnti
qasdfdsaq,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.