скопируйте все файлы в одном разделе к папке в другом разделе и обновите символьные ссылки

У меня есть два раздела:

  • /dev/sda смонтирован как /
  • /dev/sdb смонтированные МСФО /stuff

Я хочу скопировать все с / кому: /stuff/backup но я также хочу, чтобы символьные ссылки обновили для указания на /stuff/backup.

Например, если у меня есть символьная ссылка как так:

/path/to/some/link -> /path/to/the/real/file

Затем после того, как это сохранено, это должно быть похожим на это:

/stuff/backup/path/to/some/link -> /stuff/backup/path/to/the/real/file

Я погуглил немного, но, может казаться, не понимаю это.

2
задан 15 July 2017 в 07:12

1 ответ

Из обсуждения, IMO, tar является лучшим инструментом, поскольку это сохранит ссылки. Я также предлагаю делать это с живого CD. Вы смонтировали бы свой корневой раздел человечности и CD в него.

При резервном копировании базы данных используйте инструменты базы данных, т.е. mysqldump

От рабочей системы (не живой usb):

Примечание: Рассмотрите они исключают перед выполнением этой команды посмотрите ниже для деталей.

Минимальный исключает, был бы /proc /tmp /mnt /dev и /sys Другие являются дополнительными, но значительно уменьшат размер Вашего резервного копирования

cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \ 
--exclude=/media \ 
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \ 
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \ 
--exclude=/home/*/.local/share/Trash /

Это сожмет архив, это абсолютно портативно, и расположено в/backup.tar.gz

Что означают опции: от https://help.ubuntu.com/community/BackupYourSystem/TAR

tar - является командой, которая создает архив. Это изменяется каждой буквой сразу после, каждому объясняют рев.

c - создайте новый архив резервных копий.

v - подробный режим, tar распечатает то, что он делает на экран.

p - сохраняет полномочия файлов, вставленных в архив для восстановления позже.

z - сожмите файл резервной копии с 'gzip' для создания этого меньшим.

f - указывает, где сохранить резервное копирование, backup.tar.gz является именем файла, используемым в этом примере. Это будет сохранено в текущем рабочем каталоге, тот, который Вы устанавливаете при использовании команды CD.

\только продолжают команду на следующей строке, и я добавил их для ясности.

--exclude должно быть самоочевидным, но это исключает те каталоги.

Можно использовать --one-file-system опция скорее затем все исключение для/proc,/sys,/mnt, / медиа, / выполненный и/dev, однако, если бы у Вас есть отдельная начальная загрузка / или / домой (или другой раздел) необходимо было бы добавить его в архив.

Можно исключить каталоги, Вы знаете, что не нуждаетесь, т.е. не имеете никаких редактирований. /usr/share или подобный.

Для просмотра содержания видят, Как я могу просмотреть содержание tar.gz файла, не извлекая из командной строки?

Вы видите содержание файла с энергией / gvim и различия в списке с zdiff

Править: Из комментариев "Это бомбит половину пути посредством показа:/lib/plymouth/themes//lib/plymouth/themes/ubuntu-text/tar:/: файл изменился, поскольку мы читаем его после 10 минут на mini-PCIe SSD (Канал Sata II). Это займет время для точной настройки"

Это происходит, потому что файловая система используется поэтому, если будут изменения, записанные в диск во время tar, то Вы получите эти виды сообщений. Этого вида проблемы может избежать исключение как можно больше в архиве tar и/или рабочем tar с живого CD/USB

Кроме того, из комментариев другие кандидаты на исключение:

~/.cache # Эти файлы являются абсолютно ненужными, и на самом деле можно в любое время восстановить дисковое пространство путем удаления этого каталога.

/usr/src/linux-headers* # Снова, большой объем данных Вам не нужно.

~/.local/share/Trash # Обзор и удаляют мусор или исключают этот каталог

/ медиа # будет иметь, например, партоны Windows

/var/run/user/$USER/..., который является символьной ссылкой на/, выполненный так я - исключает =/run также. #This будет иметь съемные устройства, такие как драйвер флэш-памяти, и устройства на базе Android так, вероятно, могут быть исключены.

3
ответ дан 2 December 2019 в 02:46

Другие вопросы по тегам:

Похожие вопросы: