Copy filesystems / disk trees

From MEPIS Documentation Wiki

Jump to: navigation, search

How do you copy a directory tree or filesystem and preserve ownership and permissions? There are a number of ways that this can be accomplished, with varying degrees of complexity. Assume for the sake of this tip that we want to copy the contents of /mnt/hda1 to /mnt/hda5. Each of the following commands will do the trick.

Command Example
rsync rsync -av /mnt/hda1/ /mnt/hda5/
cp cp -Rp /mnt/hda1/* /mnt/hda5
tar (cd /mnt/hda1; tar tf - .) | (cd /mnt/hda5; tar xvf -)
cpio (cd /mnt/hda1; find . -depth -print | cpio -oac) | (cd /mnt/hda5; cpio -idmuv)

The rsync command is probably the best. It can be used to mirror a drive. If you make some changes to part of the files and then re-run it, it will only copy the changes.

The cp command is the simpliest. It will copy the files and preserve the permissions and ownership.

Both tar and cpio are the most difficult to understand, but are more flexible.

Important: to copy your current working partition it is better to boot into the Live CD and execute the command from there. Hot cloning is possible, but not recommended.

Personal tools
In other languages