eseguire rsync come root ma mantenere la proprietà dell'utente


36

Vorrei eseguire il backup dei file utente da un server all'altro con rsync. ma ho notato che le cartelle degli utenti cambiano in root. come posso mantenere le autorizzazioni utente con rsync (in esecuzione da root)?


rsync deve essere eseguito come root quando si esegue una copia dell'unità, nonché quando si copia il file sull'unità. Se esegui uno dei passaggi come utente con autorizzazioni inferiori, i file root verranno retrocessi a quell'utente.
Eric Leschinski il

Risposte:


46

Usa la -abandiera, che include tra l'altro le opzioni -oe -g, che preserva proprietari e gruppi. Ciò richiede l'esecuzione rsynccome root.

Inoltre, vedi man rsync.


1
È anche possibile senza essere root? Esiste un'opzione per memorizzare la mappatura in un file sidecar separato?
thomas.mc.work

1
Ho perso questo commento. No, non funziona senza essere rootperché non ti è permesso cambiare il proprietario con nessun altro che il tuo stesso utente. Un file di mappatura non sarebbe affatto d'aiuto in questo.
Sven

15

Mantenere i permessi si ottiene attraverso la modalità "archivio", -a. L'esempio comune è -avz:

rsync -avz foo:src/bar/ /data/bar

Ciò garantisce che collegamenti, dispositivi, attributi, autorizzazioni, proprietà, ecc. Simbolici vengano conservati nel trasferimento. Inoltre, la compressione verrà utilizzata per ridurre la dimensione delle porzioni di dati del trasferimento.


5

Se stai usando rsync per il backup, posso davvero consigliare di usare rsnapshot (usa rsync). Ruota i backup e utilizza collegamenti fissi in modo da poter vedere le differenze tra i backup giornalieri (ma le cartelle sembrano comunque avere il contenuto completo). Lo uso per il backup di server Windows e Linux al lavoro. Perfetto per noi!

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.