Come faccio a copiare una cartella mantenendo intatti i proprietari e le autorizzazioni?

21

Quindi stavo per eseguire il backup della mia cartella home copiandola su un'unità esterna come segue:

sudo cp -r /home/my_home /media/backup/my_home

Con il risultato che tutte le cartelle sulle unità esterne ora sono di proprietà di root:root . Come posso avere cp a mantenere la proprietà e le autorizzazioni dall'originale?

    
posta Psachnodaimonia 20.07.2012 - 17:34

3 risposte

22

Utilizza il flag -p .

-p     same as --preserve=mode,ownership,timestamps

--preserve[=ATTR_LIST]
       preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

Si noti che per consentire alle repliche di essere correttamente replicate, il file system di destinazione dovrebbe essere uguale al file system di origine. In altre parole, la tua unità esterna dovrebbe essere formattata come ext4 se, come di solito accade, la tua cartella home è memorizzata su una partizione di quel tipo.

    
risposta data SirCharlo 20.07.2012 - 17:41
5

Utilizza sudo cp -a /home/my_home /media/backup/my_home , verrà ripagato in sottodirectory e conserverà tutti gli attributi del file.

    
risposta data Eric Carvalho 20.07.2012 - 17:49
5

Puoi usare il flag -p:
cp -rp /home/my_home /media/backup/my_home
oppure usa la riga di comando rsync:
rsync -aux /home/my_home /media/backup/my_home

    
risposta data SWdream 12.01.2015 - 03:20

Leggi altre domande sui tag