Резервное копирование системы с dd на внешний жесткий диск
Я хочу сделать резервную копию всей моей системы. Мне интересно, является ли команда dd хорошим выбором для этого.
dd if=/dev/sda of=/dev/sdb
Например: /dev/sda - это мой системный раздел (раздел находится на ssd, если эта информация важна), а /dev/sdb - мой внешний жесткий диск usb. Можно ли клонировать всю систему в определенный каталог на моем внешнем жестком диске? Как это:
dd if=/dev/sda of=/dev/sdb/directory
Я подумал о возможности написать свой собственный скрипт резервного копирования, который делает еженедельное резервное копирование моей системы с помощью команды 'dd'. Помимо этого я хочу зашифровать мою резервную копию каталога. Какой хороший выбор для этого? (Я думал о EncFS например).
3 ответа
Другое решение:
Попробуйте запустить crontab -e
и добавьте что-то вроде ниже: (подробности см. здесь)
#
# some comments are here
#
#
# rsync archive every day at midnight change /dev/null to a file name if you want to see the logs
0 0 * * * rsync –avu /path/to/source ~/rsync/daily > /dev/null
# rsync every sunday at 4am change /dev/null to a file name if you want to see the logs
0 4 * * 0 rsync –avu ~/rsync/daily ~/rsync/weekly > /dev/null
# rsync every 1st of the month use gzip to use less space change /dev/null to a file name if you want to see the logs
0 0 1 * * tar -cvzf ~/rsync/monthly/monthly_$(date +%m%d%Y).tar.gz ~/rsync/daily/
И для шифрования папок вы можете сделать что-то вроде:
tar -cvz /path/to/directory | openssl des3 -salt > name_of_encrypted.tar.gz
И расшифровать
cat name_of_encrypted.tar.gz | openssl des3 -d -salt | tar -xvz new_name_of_directory
Нет, это ужасный выбор для этого. dd
это тупое животное. Он ничего не знает о файловой системе, поэтому он слепо копирует каждый сектор, независимо от того, используется ли он или свободное место. Это приводит к очень большому резервному образу. Вы также не сможете восстановить его даже на немного меньший диск, даже если на нем было достаточно свободного места.
Инструменты, такие как partimage и ghost4linux (и встроенные e2image
получил эту способность в 14.04) по крайней мере достаточно умен, чтобы пропустить неиспользуемое пространство. Обычные инструменты резервного копирования, такие как tar
а также dump
намного лучше, поскольку они предлагают гибкость восстановления на немного меньшие диски, если это необходимо, или восстановление только подмножества файлов, которые вы случайно удалили. Они также могут создавать инкрементные резервные копии только тех файлов, которые вы изменили, вместо того, чтобы делать еще один полный образ всего диска каждую неделю. Вы также можете посмотреть в rsnapshot
который может создавать еженедельные резервные копии, которые можно просматривать каждую неделю, не занимая места на диске с полными отдельными копиями.
Если вы хотите зашифровать резервную копию, вы можете просто использовать gpg
зашифровать файл. Например: tar cz / --one-file-system | gpg -c > /media/sdb/backup.tar.gz.gpg
,
Для получения дополнительной информации см. http://wiki.ubuntu.com/BackupYourSystem
Вы можете сделать это, есть много способов, в зависимости от того, что вы предпочитаете.
Если вы создаете dd копию своего диска (сама sda - это полный диск, а не один раздел), вы можете скопировать его в файл (не в каталог) на резервном диске. Преимущество будет в том, что вы включите свой загрузочный сектор. Недостатком является то, что вы должны отключить используемый раздел, на практике это означает, что вы должны загружаться с другого устройства. Также это трудоемкая копия, поскольку она будет копировать все снова и снова.
Чаще всего используются инструменты резервного копирования, которые делают копию файла, их можно (нужно) использовать, пока раздел монтируется, и они будут копировать только измененные файлы при следующем запуске. Недостаток: прежде чем вы сможете полностью восстановить систему, сначала нужно сделать ее загрузочной. Для этого чаще всего используется rsync, но есть много специальных программ резервного копирования.
Для шифрования есть возможность Encfs, однако я бы не стал использовать его для шифрования образа диска, потому что повреждение файла где-то в файле может сделать ваше изображение недоступным для дешифрования. На самом деле, я бы предпочел использовать зашифрованный архив.
Я только что рассмотрел множество методов шифрования в сочетании с резервным копированием в этом посте, может быть, вам интересно.