Бэкапы и образы
Файловые бэкапы, образы дисков, сжатие и проверка.
Перед бэкапом
Проверить точку монтирования, свободное место и имя диска. Ошибка в `/dev/sdX` может перезаписать не тот носитель.
lsblk mount | grep /mnt/nas_backup df -h /mnt/nas_backup ls -lh /mnt/nas_backup/backups blkid
Обычный образ dd
Подходит, когда нужно получить несжатый образ и потом отдельно его проверить или сжать.
dd if=/dev/sdX of=/mnt/nas_backup/image.img bs=64M status=progress sync sha256sum /mnt/nas_backup/image.img > /mnt/nas_backup/image.img.sha256 sha256sum -c /mnt/nas_backup/image.img.sha256
dd + xz
xz обычно сильнее сжимает, но работает медленнее. `-T0` использует все доступные потоки.
dd if=/dev/sdX bs=64M status=progress | xz -T0 -9 > image.img.xz xz -t image.img.xz xz -dc image.img.xz | dd of=/dev/sdX bs=64M status=progress sync
dd + zstd
zstd часто удобнее для больших образов: быстрее xz и хорошо подходит для регулярных копий.
dd if=/dev/sdX bs=64M status=progress | zstd -T0 -10 > image.img.zst zstd -t image.img.zst zstd -dc image.img.zst | dd of=/dev/sdX bs=64M status=progress sync
tar и сжатие
Для каталогов удобнее архив, чем образ диска. Исключать кэш и временные файлы явно.
tar -czf backup.tar.gz /opt/project tar -cJf backup.tar.xz /opt/project tar -I zstd -cf backup.tar.zst /opt/project tar -tf backup.tar.gz | head tar -xzf backup.tar.gz -C /restore/path gzip -t backup.tar.gz
zip и unzip
Полезно для обмена с Windows, но для Linux-бэкапов чаще удобнее tar.
zip -r backup.zip /opt/project unzip -l backup.zip unzip backup.zip -d /restore/path 7z l archive.7z 7z x archive.7z -o/restore/path
rsync
Сначала dry-run, затем реальный запуск. Слеш в конце source/ важен.
rsync -avh --dry-run /opt/project/ /mnt/backup/project/ rsync -avh --delete /opt/project/ /mnt/backup/project/ rsync -avh -e ssh /opt/project/ user@server:/backup/project/ rsync -avh --progress bigfile.img /mnt/backup/ rsync -avh --exclude cache/ /opt/project/ /mnt/backup/project/