
Я хочу синхронизировать мою установку Ubuntu 14.04 с каталогом на внешнем диске.
На самом деле я загрузился с внешнего диска и хочу сделать частичную копию моего дистрибутива Ubuntu 14.04 на внутреннем диске, который я смонтировал./media/kenn/c2d1b866/
Целевой каталог, смонтированный на/mnt/RESTORE/backup_14.04.5
Я перепробовал много комбинацийrsyncкоманда, такая как
sudo rsync -avr /media/kenn/c2d1b866/{bin/,sbin/,usr/,opt/,lib/,var/,etc/,srv/,libx32/,lib64/,run/,boot/,proc/,sys/,dev/} /mnt/RESTORE/backup_14.04.5
sudo rsync -avr /media/kenn/c2d1b866/{bin/,sbin/,usr/,opt/,lib/,var/,etc/,srv/,libx32/,lib64/,run/,boot/,proc/,sys/,dev/} /mnt/RESTORE/backup_14.04.5/
sudo rsync -avr /media/kenn/c2d1b866/{"bin/","sbin/","usr/","opt/","lib/","var/","etc/","srv/","libx32/","lib64/","run/","boot/","proc/","sys/","dev/"} /mnt/RESTORE/backup_14.04.5
и многие другие, но я потерпел неудачу, потому что расширение скобок не работает так, как я ожидал. Они копируют все файлы внутри каталогов скобок в /mnt/RESTORE/backup_14.04.5
, я имею в виду корневые каталоги, не созданные вbackup_14.04.5
Как я могу скопировать этиbin/,sbin/,usr/,opt/,lib/,var/,etc/,srv/,libx32/,lib64/,run/,boot/,proc/,sys/,dev/
в ?/media/kenn/c2d1b866/
/mnt/RESTORE/backup_14.04.5
решение1
Они копируют все файлы внутри каталогов-фигур в
/mnt/RESTORE/backup_14.04.5
Это rsync
поведение происходит, когда исходный путь имеет завершающий слеш /
.man rsync
:
A trailing slash on the source changes this behavior to avoid creating
an additional directory level at the destination. You can think of a
trailing / on a source as meaning "copy the contents of this directory"
as opposed to "copy the directory by name", but in both cases the
attributes of the containing directory are transferred to the
containing directory on the destination.
Чтобы скопировать каталоги, пропустите это /
:
sudo rsync -avr /media/kenn/c2d1b866/{bin,sbin,usr,opt,lib,var,etc,srv,libx32,lib64,run,boot,proc,sys,dev} /mnt/RESTORE/backup_14.04.5