faq:linux:backup
Это старая версия документа!
Содержание
Резервное копирование
Используя tar через ssh
С полными именами параметров:
- rootbackup.sh
#!/bin/bash BACKUPHOST=nkpc BACKUPUSER=kasatkin 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}"
Используя сокращённые параметры:
- rootbackup.sh
#!/bin/bash BACKUPHOST=nkpc BACKUPUSER=kasatkin 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}"
Можно добавить в cron, например, как ежемесячное задание (не забыв сделать его исполняемым):
cp rootbackup.sh /etc/cron.monthly/ chmod a+x /etc/cron.monthly/rootbackup.sh
Используя rsync
Чтобы скопировать корневую файловую систему на новый раздел или в целях резервного копирования:1)
rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/backup
Сделать резервную копию на удалённый сервер можно просто заменив в этой команде /backup/
на host:/backup/
.
Перенос системы на новый диск
Домашний каталог
cp -a /mnt/home/* /home/
Установленные пакеты
Сначала копируем базу ответов на вопросы dpkg: 2)
cp -a /mnt/var/cache/debconf /var/cache/
Затем копируем список репозиториев:
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
После этого создадим список установленных пакетов в системе-доноре:
mount -o remount,rw /mnt chroot /mnt dpkg --get-selections > /packages.txt exit mount -o remount,ro /mnt
Наконец, устанавливаем все пакеты:
dpkg --set-selections < /mnt/packages.txt apt-get dselect-upgrade
faq/linux/backup.1625257165.txt.gz · Последнее изменение: 2022-02-19 17:51 (внешнее изменение)