All Projects → tritonas00 → System Tar And Restore

tritonas00 / System Tar And Restore

Backup and Restore your system using tar or Transfer it with rsync

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to System Tar And Restore

Raspibackup
Backup and restore your running Raspberry
Stars: ✭ 268 (+57.65%)
Mutual labels:  tar, backup, rsync
Pitrery
PostgreSQL Point In Time Recovery made easy
Stars: ✭ 99 (-41.76%)
Mutual labels:  backup, restore
Etcd Backup Restore
Collection of components to backup and restore the Etcd of a Kubernetes cluster
Stars: ✭ 99 (-41.76%)
Mutual labels:  backup, restore
Rsync Incremental Backup
Configurable bash script to send incremental backups of your data to a local or remote target
Stars: ✭ 150 (-11.76%)
Mutual labels:  backup, rsync
Cv4pve Barc
Backup And Restore Ceph for Proxmox VE
Stars: ✭ 74 (-56.47%)
Mutual labels:  backup, restore
Rdiffweb
A simplified backup management software for quick access to your archives through an efficient web interface.
Stars: ✭ 76 (-55.29%)
Mutual labels:  backup, restore
Conserve
[beta] robust portable backup tool in Rust
Stars: ✭ 107 (-37.06%)
Mutual labels:  backup, restore
Pghoard
PostgreSQL backup and restore service
Stars: ✭ 1,027 (+504.12%)
Mutual labels:  backup, restore
Libarchive
Multi-format archive and compression library
Stars: ✭ 1,625 (+855.88%)
Mutual labels:  tar, backup
Nextcloud Backup Restore
Moved to codeberg.org - https://codeberg.org/DecaTec/Nextcloud-Backup-Restore - Bash scripts for backup/restore of Nextcloud
Stars: ✭ 115 (-32.35%)
Mutual labels:  backup, restore
Backup Manager
Database backup manager for dumping to and restoring databases from S3, Dropbox, FTP, SFTP, and Rackspace Cloud
Stars: ✭ 1,589 (+834.71%)
Mutual labels:  backup, restore
Backup
MySQL Database backup package for Laravel
Stars: ✭ 66 (-61.18%)
Mutual labels:  backup, restore
Packagesync
Sync sublime text packages & user settings across devices.
Stars: ✭ 63 (-62.94%)
Mutual labels:  backup, restore
Bareos Webui
Bareos Web User Interface
Stars: ✭ 78 (-54.12%)
Mutual labels:  backup, restore
Backintime
Back In Time - A simple backup tool for Linux
Stars: ✭ 1,066 (+527.06%)
Mutual labels:  backup, rsync
Zmbackup
A reliable software written in Shell Script to help you in your daily task to backup and restore mails and accounts from Zimbra Open Source Email Platform. Project in deprecation process. Please help me with Waddles.
Stars: ✭ 103 (-39.41%)
Mutual labels:  backup, restore
Cognito Backup Restore
AIO Tool for backing up and restoring AWS Cognito User Pools
Stars: ✭ 142 (-16.47%)
Mutual labels:  backup, restore
Rsyncosx
A macOS GUI for rsync
Stars: ✭ 780 (+358.82%)
Mutual labels:  backup, rsync
Hactar
📃 An incremential daily backup script using rsync
Stars: ✭ 34 (-80%)
Mutual labels:  backup, rsync
Helicopterizer
Backup and Restore for Docker Container!
Stars: ✭ 112 (-34.12%)
Mutual labels:  backup, restore

System Tar & Restore

Backup

ABOUT

System tar & restore contains two bash scripts, the main program star.sh and a gui wrapper star-gui.sh.
Three modes are available: Backup, Restore and Transfer.

Supported distributions: Arch, Debian/Ubuntu, Fedora, openSUSE, Gentoo, Mandriva/Mageia

Stable Releases

DISTRIBUTION PACKAGES

Archlinux
See the wiki page.

Gentoo
The package is provided by the gentoo-el overlay. You can install it with the following commands as root. (you need to have layman installed and configured)

layman -a gentoo-el  
emerge app-backup/system-tar-and-restore

REQUIREMENTS

  • gtkdialog 0.8.3 or later (for the gui)
  • tar 1.27 or later (acls and xattrs support)
  • rsync (for Transfer Mode)
  • wget (for downloading backup archives)
  • gptfdisk/gdisk (for GPT and Syslinux)
  • openssl/gpg (for encryption)

THINGS YOU CAN DO

  • Full system or partial backup
  • Restore or transfer to the same or different disk/partition layout.
  • Restore or transfer to an external device such as usb flash drive, sd card etc.
  • Restore a BIOS-based system to UEFI and vice versa.
  • Prepare a system in a virtual machine (such as virtualbox), back it up and restore it in a normal machine.

BACKUP MODE

With this mode you can make a tar backup archive of your system. You can define:

  • Archive filename: A desired name for the backup archive. Default is Backup-$(hostname)-$(date +%Y%m%d-%H%M%S).
  • Destination directory: Set where you want to save the backup archive. Default is /.
  • Home directory: You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore mode).
  • Compression: You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.
  • Encryption method and passphrase: Select encryption method (openssl or gpg) and enter a passphrase if you want to encrypt the archive.
  • Archiver options: You can pass your own extra options in the archiver. See tar --help for more info.

The script can read input from /etc/backup.conf. Alternative path can be specified: star.sh /path/backup.conf -i 0 or star-gui.sh /path/backup.conf. See the provided sample or use -g, --generate to generate a configuration file.

When the process completes, you may want to check backup.log file in the same directory with the backup archive.

RESTORE/TRANSFER MODE

Restore mode uses the above created archive to extract it in desired partition(s). Transfer mode transfers your system in desired partition(s) using rsync. Then, in both cases, the script generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.

Boot from a livecd - preferably one of the target (backed up) distro - or another existing system, prepare your target partition(s) and start the script. You can define:

  • Target partitions: You must specify a target root partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.) and in case of UEFI a target ESP partition and it's mount point (/boot/efi or /boot).
  • Mount options: You can specify alternative comma-seperated mount options for the target root partition. Defaults are defaults,noatime.
  • Btrfs subvolumes: If the target root filesystem is Btrfs, you can create subvolumes. Set the root subvolume name and also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is __active.
  • Bootloader: In BIOS systems you can choose Grub (version 2) or Syslinux and the target device. If you select a raid array as bootloader device, the script will install the bootloader in all devices that the array contains. In case of UEFI you can choose Grub, EFISTUB/efibootmgr or Systemd/bootctl. Also you can define additional kernel options.
  • Modes: In Restore mode you have to specify the backup archive (local path or remote url). If the archive is encrypted you must specify the passphrase. In Transfer mode you can choose if you want to transfer your entire /home directory, only it's hidden files and folders (which are necessary to login and keep basic settings) or exclude it.
  • Tar/Rsync options: You may want to specify any additional options. See tar --help or rsync --help for more info.

When the process completes check /tmp/restore.log.

See star.sh --help for all available options.

NOTES

  • In case of Gentoo initramfs is optional. You can use -D, --use-genkernel in Restore/Transfer mode to enable initramfs building via genkernel.

  • In the target system, the script saves configuration files before generate/modify them with -old suffix.

  • In case of UEFI, you must boot in UEFI enviroment to restore a system. The script will check if /sys/firmware/efi exists and act accordingly. You must create an EFI System Partition.

  • Some tested Restore/Transfer scenarios are included in the table below.

Tested scenarios
TARGET PARTITION MOUNTPOINT BOOTLOADER SYSTEM NOTES
/dev/sdX1 / Grub
Syslinux
BIOS MBR
/dev/sdX2
/dev/sdX1
/dev/sdX3
/dev/sdX4
/
/boot
/home
/var
Grub
Syslinux
BIOS MBR
/dev/md0 / Grub
Syslinux
BIOS MBR level=1
metadata=1.0
/dev/md1
/dev/md0*
/
/boot
Syslinux BIOS GPT level=1
metadata=1.0*
/dev/sdX2
/dev/sdX1
/
/boot
Grub
Syslinux
BIOS MBR btrfs
Root Subvolume: __active
Other Subvolumes: /home /usr /var /opt
/dev/mapper/A-B
/dev/sdX1*
/dev/sdX3
/

/boot
Grub
Syslinux
BIOS GPT lvm
Grub needs BIOS Boot Partition*
/dev/mapper/A-B
/dev/sdX1
/dev/mapper/A-C
/dev/mapper/A-D
/dev/mapper/X
/
/boot
/home
swap

Grub
Syslinux
BIOS MBR lvm on luks
/dev/mapper/A-B
/dev/md1
/dev/md0*
/

/boot
Syslinux BIOS GPT lvm on mdadm
level=1
metadata=1.0*
/dev/mapper/A-B
/dev/mapper/X
/dev/md1
/dev/md0*
/


/boot
Syslinux BIOS GPT lvm on luks on mdadm
level=1
metadata=1.0*
/dev/mapper/X
/dev/sdX1
/
/boot
Grub
Syslinux
BIOS MBR luks
/dev/mapper/X
/dev/A/B
/dev/sdX1
/

/boot
Grub
Syslinux
BIOS MBR luks on lvm
/dev/mapper/X
/dev/md1
/dev/md0*
/

/boot
Syslinux BIOS GPT luks on mdadm
level=1
metadata=1.0*
/dev/mapper/X
/dev/mapper/A-B
/dev/md1
/dev/md0*
/


/boot
Syslinux BIOS GPT luks on lvm on mdadm
level=1
metadata=1.0*
/dev/sdX2
/dev/sdX1*
/
/boot/efi
Grub
EFISTUB/efibootmgr
Systemd/bootctl
UEFI GPT ESP*
efibootmgr 0.12
efivar 0.21
systemd >= 222
/dev/sdX2
/dev/sdX1*
/
/boot
Grub
EFISTUB/efibootmgr
Systemd/bootctl
UEFI GPT ESP*
efibootmgr 0.12
efivar 0.21
systemd >= 222
/dev/mapper/X
/dev/sdX2
/dev/sdX1*
/
/boot
/boot/efi
Grub
EFISTUB/efibootmgr
Systemd/bootctl
UEFI GPT luks
ESP*
efibootmgr 0.12
efivar 0.21
systemd >= 222

EXAMPLES USING ARGUMENTS

Backup Mode:

  • Destination: /home/john/
  • Compression: gzip
  • Additional options: --exclude=/home/john/.cache/* --warning=none

star.sh -i 0 -d /home/john/ -c gzip -u "--exclude=/home/john/.cache/* --warning=none"

  • Destination: /home/john/
  • Compression: xz
  • Exclude /home directory

star.sh -i 0 -d /home/john/ -c xz -H 2

  • Destination: /home/john/
  • Compression: bzip2
  • Keep only /home's hidden files and folders
  • Encryption

star.sh -i 0 -d /home/john/ -c bzip2 -E openssl -P 1234 -H 1

Restore Mode:

  • root: /dev/sdb1
  • grub
  • local archive

star.sh -i 1 -r /dev/sdb1 -G /dev/sdb -f /home/john/backup.tar.gz

  • root: /dev/sdb1, /home: /dev/sdb2, swap: /dev/sdb3
  • syslinux
  • remote archive on ftp server

star.sh -i 1 -r /dev/sdb1 -h /dev/sdb2 -s /dev/sdb3 -S /dev/sdb -f ftp://server/backup.tar.xz

  • root: /dev/md1, /boot: /dev/md0
  • local archive
  • syslinux

star.sh -i 1 -r /dev/md1 -b /dev/md0 -f /home/john/backup.tar.gz -S /dev/md0

  • root: /dev/sdb1
  • syslinux
  • remote file in protected http server

star.sh -i 1 -r /dev/sdb1 -S /dev/sdb -f http://server/backup.tar.gz -y username -p password

  • root: /dev/sda2, esp: /dev/sda1
  • local archive
  • grub

star.sh -i 1 -r /dev/sda2 -e /dev/sda1 -l /boot/efi -G auto -f /home/john/backup.tar.gz

Transfer Mode:

  • root: /dev/sda1 (ssd)
  • syslinux
  • kernel options: nomodeset

star.sh -i 2 -r /dev/sda1 -m discard,errors=remount-ro -S /dev/sda -k nomodeset

  • root: /dev/mapper/debian-root, /boot: /dev/sdb1
  • grub

star.sh -i 2 -r /dev/mapper/debian-root -b /dev/sdb1 -G /dev/sdb

  • root: /dev/sda2 (btrfs with compression), /boot: /dev/sda1
  • root subvolume: __active
  • /var, /usr and /home subvolumes
  • syslinux

star.sh -i 2 -r /dev/sda2 -m compress=lzo -b /dev/sda1 -S /dev/sda -R __active -B "/var /usr /home"

  • root: /dev/sdb2, /boot: /dev/sdb1, /var: /dev/sdb4, /usr: /dev/sdb3
  • transfer /home's hidden files and folders only
  • grub

star.sh -i 2 -r /dev/sdb2 -b /dev/sdb1 -t "/var=/dev/sdb4 /usr=/dev/sdb3" -G /dev/sdb -H 1

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].