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-perms
dell'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 tar
invece di rsync
, no? Ma ciò richiederebbe molto più tempo in quanto non solo trasmetterebbe il delta, giusto? (Non sono sicuro di tar
essere 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?