Инструменты пользователя

Инструменты сайта


faq:linux:backup

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
faq:linux:backup [2013-02-07 19:54] nikolayfaq:linux:backup [2013-02-24 14:38] – [Используя rsync] nikolay
Строка 1: Строка 1:
 ====== Резервное копирование ====== ====== Резервное копирование ======
-===== Установленные пакеты ===== +===== Используя tar через ssh =====
-Use +
-<code bash>dpkg --get-selections > selections.txt +
-</code> to save a selection and  +
-<code bash>dpkg --set-selections < selections.txt && apt-get dselect-upgrade +
-</code> to restore. +
- +
-===== tar + ssh =====+
 С полными именами параметров: С полными именами параметров:
 <code bash rootbackup.sh> <code bash rootbackup.sh>
Строка 15: Строка 8:
 BACKUPFILE=/opt/pub/media/backup/`date +%Y-%m-%d-${HOSTNAME}`.tar.bz2 BACKUPFILE=/opt/pub/media/backup/`date +%Y-%m-%d-${HOSTNAME}`.tar.bz2
  
-tar --create --bzip2 --preserve --file - --exclude="/proc/*" --exclude="/sys/*" --exclude="/tmp/*" / | ssh ${BACKUPUSER}@${BACKUPHOST} "cat > ${BACKUPFILE}"+tar --create --bzip2 --preserve --file - --exclude="/proc/*" --exclude="/sys/*" 
 +--exclude="/tmp/*" / | ssh ${BACKUPUSER}@${BACKUPHOST} "cat > ${BACKUPFILE}"
 </code> </code>
  
Строка 25: Строка 19:
 BACKUPFILE=/opt/pub/media/backup/`date +%Y-%m-%d-${HOSTNAME}`.tar.bz2 BACKUPFILE=/opt/pub/media/backup/`date +%Y-%m-%d-${HOSTNAME}`.tar.bz2
  
-tar -cjpsf - --exclude="/proc/*" --exclude="/sys/*" --exclude="/tmp/*" / | ssh ${BACKUPUSER}@${BACKUPHOST} "cat > ${BACKUPFILE}"+tar -cjpsf - --exclude="/proc/*" --exclude="/sys/*" --exclude="/tmp/*" / | ssh 
 +${BACKUPUSER}@${BACKUPHOST} "cat > ${BACKUPFILE}"
 </code> </code>
  
 Можно добавить в cron, например, как ежемесячное задание (не забыв сделать его исполняемым): Можно добавить в cron, например, как ежемесячное задание (не забыв сделать его исполняемым):
-<code> +<code bash> 
-chmod a+x /etc/cron.monthly/backup+cp rootbackup.sh /etc/cron.monthly/ 
 +chmod a+x /etc/cron.monthly/rootbackup.sh
 </code> </code>
  
-===== Корневая файловая система ===== +===== Используя rsync ===== 
-Чтобы скопировать корневую файловую систему на новый раздел или в целях резервного копирования:((rsync -aAXv //path/to/backup/folder --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs}))+Чтобы скопировать корневую файловую систему на новый раздел или в целях резервного копирования:((https://wiki.archlinux.org/index.php/Full_System_Backup_with_rsync#With_a_single_command))
 <code bash> <code bash>
-rsync -aAXv /* /path/to/backup/folder --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/home/*/.gvfs}+rsync -aAXv --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found/* /backup/path/
 </code> </code>
 +
 +Сделать резервную копию на удалённый сервер можно просто заменив в этой команде ''/backup/path/'' на ''host:/backup/path/''
 +
 +===== Перенос системы на новый диск =====
 +==== Домашний каталог ====
 +<code bash>
 +cp -a /mnt/home/* /home/
 +</code>
 +
 +==== Установленные пакеты ====
 +Сначала копируем базу ответов на вопросы dpkg: ((http://feeding.cloud.geek.nz/posts/doing_a_fresh_debian_ubuntu_install_without_having_to_reconfigure_everything/))
 +<code bash>
 +cp -a /mnt/var/cache/debconf /var/cache/
 +</code>
 +
 +Затем копируем список репозиториев:
 +<code bash>
 +cp -a /mnt/etc/apt/sources.list /etc/apt/
 +cp -a /mnt/etc/apt/sources.list.d/* /etc/apt/sources.list.d/
 +apt-get update
 +</code>
 +
 +После этого создадим список установленных пакетов в системе-доноре:
 +<code bash>
 +mount -o remount,rw /mnt
 +chroot /mnt
 +dpkg --get-selections > /packages.txt
 +exit
 +mount -o remount,ro /mnt
 +</code>
 +
 +Наконец, устанавливаем все пакеты:
 +<code bash>
 +dpkg --set-selections < /mnt/packages.txt
 +apt-get dselect-upgrade
 +</code>
 +
faq/linux/backup.txt · Последнее изменение: 2022-02-19 18:16 — 127.0.0.1