7.0 Major project cleanup. Completes the rewrite started with 6.0 introduced new variable names see backup.conf for changes simplified /home directory options, see star.sh --help or backup.conf simplified multicore options, see star.sh --help or backup.conf simplified backup.conf sourcing method see star.sh --help or README.md simplified clean_unmount and made it standalone enhanced deleting older backups - you can now specify the number of latest backups to keep accept non-empty target root partition without extra argument genkernel on gentoo is now optional, use -D, --use-genkernel in Restore/Transfer mode το use it properly clarified error/warning/info messages clarified some arguments cleaned up star.sh output nicer progress bar unified distro detection method gui wrapper: added cron schedule backup option gui wrapper: proper cancelling/cleaning method gui wrapper: show generated command in terminal code cleanup and re-ordering 6.9 added pbzip2 parallel decompression support (thanks to 0rinsb3lt) simplified multi-core threads number logic gui layout and functionality improvements cleanups in star.sh 6.8 use basic date/time format in default backup name (fixes issues with fat file system destinations) reworked restore/transfer tab many code cleanups in star.sh 6.7 show generated configuration file to gui wrapper log gui wrapper improvements 6.6 added option to specify the number of threads for multi-core compression added option to create a non-system backup archive of a specified directory added .desktop launcher and polkit action file, useful for packaging fixed missing BRmcore entry in generate_conf code cleanups 6.5 added support for nvme devices (thanks scottbass for reporting) implemented partition cleaning mechanism (see star.sh --help) wrapper now reads custom configuration file path (syntax: star-gui.sh /path/to/backup.conf) silenced gtkdialog output on exit show total files in log smoothed wget output to wrapper use stock gtk icons in wrapper window and buttons user tar options in backup mode now appear on top of the list, just like the other modes proper check for /home directory options star-gui.sh: added check for gtkdialog and /home directory options star.sh: removed bold from user replies star.sh: arguments now override the configuration file star.sh: added check for wget star.sh: improved verbose tar/rsync output removed summary from rsync output (caused misleading percentage) generate_conf: trim leading, trailing and multiple spaces in user tar options code cleanups 6.4.1 fixed broken multi core compression updated openssl detection for file-5.30 6.4 proper variable quoting fix: check_input didn't parse correctly mounted partitions in mountpoints with spaces fix: files/directories with spaces in /home didn't parse correctly with -O in backup mode fix: if the scripts are located in directory with spaces and gui wrapper called outside of that directory, it could not find the main script moved prepare_choot before asking to edit fstab - at that stage the user can easily chroot in the target system for further intervention 6.3 added missing Fedora tar option in backup.conf tar options starting with "--exclude=" in backup.conf now translated as paths in Exclude entry fixed wildcard expansion in user tar/rsync options and excludes override (-o) now applies to Restore mode also override (-o) now gives full user control in tar options show default tar options in tooltips generate backup.conf function now writes proper quotes star.sh: accept only tar/rsync options starting with "-" (also fixes nasty bug in Transfer mode with bad user input) formatted some code 6.2 added exclude /home option in transfer mode --acls and --xattrs are now default tar options debug checkbox now updates the title bar gui layout improvements removed useless hide cursor option code cleanups and minor fixes in star.sh 6.1 show progress info in window title bar separate restore/transfer mode in tabs added exclude entry in transfer mode added debug checkbox added tiny sleep after running the main script to avoid race condition removed unnecessary mount options in wrapper, show defaults in tooltip wrapper now shows more detailed progress info better wget output to wrapper code cleanups 6.0 Major project rewrite. Backend-Frontend template is now used star.sh backup.sh and restore.sh are now merged in one script which operates with arguments three modes are available: Backup Restore and Transfer full code review and major cleanup (~1130 lines less) script is now commented and faster refreshed and cleaned script output star-gui.sh refreshed layout removed the timer and reduced Idle cpu usage instant tab auto-change instant status bar update password/passphrase entries are now hidden added About tab the Log tab is now copyable fixed Ubuntu 16.04 "can't find functions" error (thanks lolo120916 for reporting) backup.conf BRinterface option removed /home directory options simplified BRnosockets option removed. It was nasty code and sockets are already excluded Add --warning=no-file-ignored in additional options if you want to suppress those tar warnings Manpage dropped, i dont have time to maintain. Everything you need is in the Readme and star.sh --help In case you miss the old scripts with the cli/dialog interfaces i will keep 5.2 release in downloads 5.2 wrapper: always go to log wrapper: fixed some width inconsistencies code cleanups 5.1 wrapper: if error occurred go to log tab wrapper: if genkernel not found and -D is not given abort code cleaning 5.0 added support for encrypted root partition with passphrase (luks, luks on lvm, luks on mdadm, luks on lvm on mdadm) enhanced lvm support (lvm on luks, lvm on mdadm, lvm on luks on mdadm) kernel options now apply to all bootloaders and appear in summary esp is now optional (without bootloader) and you can choose it's mountpoint (/boot/efi or /boot) added support for EFISTUB/efibootmgr and Systemd/bootctl updated fedora detection and made dracut verbose updated lvm and raid detection in gentoo for dolvm/domdadm kernel options many wrapper cleanups, fixes and improvements code cleaning 4.9.4 various wrapper improvements code cleaning 4.9.3 use international standard date format better detection of older backups re-write logs on each run wrapper: added cancel button wrapper: added full log button wrapper: show more info in status bar cleanups 4.9.2 added support for multi-core compression via pigz, pbzip2 or pxz added gtkdialog wrapper 4.9.1 backup.sh: clean temp files on abort also backup.sh: more consistent dialog sizes backup.sh/backup.conf: updated tar options on override restore.sh: removed useless disk_report added support for mmcblk devices added argument to override the default rsync options use columns in partition/disk lists in cli interface better partitions summary using columns bind /proc and /sys instead of specifying proc/sysfs filesystem use only two basic functions (scan_parts and scan_disks) in both interfaces and check_input code cleaning 4.9 backup.sh: added argument to exclude sockets backup.sh: updated backup.conf generator show total files in dialog interface more accurate progress counters dont show fstab in dialog interface and quiet mode use blkid for all partitions removed partitions-in-subvolumes check: not working as intended, let the user decide removed unused colors use tmp file for tar reading errors in dialog interface, keep filelist clean updated backup.conf many code cleanups 4.8 restore.sh: rewritten detect_filetype restore.sh: show partitions filesystem in cli interface also restore.sh: added some messages backup.sh: better filename detection in generate_conf check_input: dont decrypt/check archive type again if already checked accept -k, --kernel-options without defining bootloader in arguments code cleaning 4.7 removed bsdtar and -a, --archiver argument: GNU tar 1.27+ supports acls xattrs and selinux capture tar stderr directly in logs more accurate progress cleaned backup summary: compression and encryption already shown in archive extension updated tar default options added missing variables in backup.conf generator updated backup.conf code cleaning 4.6 added elapsed time info in backup.sh added argument for alternative configuration file added argument to ignore UEFI environment code cleaning 4.5 backup.sh: common tar/bsdtar options syntax backup.sh: added argument to override archiver options with user options backup.sh: added argument to remove older backups in the destination directory scripts now read // as space in archiver/rsync options and custom mountpoints handle partitions with spaces in mountpoint in fstab show archiver/rsync options vertically add automatically fedora tar extra options (--selinux --acls --xattrs-include='*') in restore force vertical lists in cli interface better output on archive read errors in dialog interface some echo changes updated backup.conf code cleaning 4.4 added support for openssl/gpg encryption* fixed reading/calculating dialog starting empty sometimes minor interface refinements code cleaning * Thanks poihths for testing 4.3 added Mandriva support (Mageia OpenMandriva etc...) updated initramfs name detection and building updated grub2 detection changed some echos for better process description show actual summary in logs updated syslinux mbr and com32 modules paths detection to support the latest debian changes code cleaning 4.2 fixed cli interface progress bar speed 4.1 added progress bar in cli interface added argument to hide cursor when running tar/rsync use /tmp/filelist to capture bsdtar errors restore.sh: replaced -U with old compatibility argument -u improved kernel detection for target syslinux.cfg updated help pages code cleaning 4.0 added openSUSE support added Gentoo support (with and without genkernel/initramfs)* added support for virtio devices exclude /var/lock/* and /var/run/* from backup/transfer changed grub detection in the archived system updated PATH so we can restore from/to any distro copy all syslinux COM32 files in /boot/syslinux improved syslinux.cfg generator added device comments in generated fstab changed swap mount point to none backup.conf now covers all backup options updated info screen instructions * Thanks freestyl3r for testing 3.9.7 added support for uncompressed archive fixed destination with spaces in backup.conf generator 3.9.6 fixed backup filename with spaces in log show version in logs changed verbose tar/rsync output renamed downloaded backup code cleaning 3.9.5 various refinements in cli interface cleaner verbose tar/rsync output layout clean temp files after the basic checks use separated temp files between the scripts 3.9.4 backup.sh can now read input from /etc/backup.conf added argument to generate backup configuration file added argument to bypass the root partition check added checks for basic paramaters in backup.sh added check for btrfs subvolumes in restore.sh clean temp files on startup fixed archive name in backup.log some cosmetic changes code cleaning 3.9.3 added support for additional tar/bsdtar options in restore.sh allow GNU Tar in Fedora show archive read errors in dialog interface dont symlink local archive, use it directly download archive in the biggest partition 3.9.2 added bzip2 compression support added verbose tar/rsync output argument cleaned cli interface, user selections are shown in summary warn if destination backup file exists and prompt to rename/overwrite better grub efi binary detection warn if target ESP is not empty bsdtar: if errors occur, capture only them in logs, not full output fixed "error symlinking archive" dialog size code cleaning 3.9.1 show disks in dialog interface even if sizes are unreadable (thanks to mask2011) 3.9 added UEFI support (grub only) added support for custom backup filename added support for additional rsync options better detection of bootloaders reduced dialogs show more info in summary show more info in logs moved bootloader dependencies checks in set_bootloader fixed gptfdisk detection in Archlinux 3.8.4 better handling of fedora's grub config file 3.8.3 force bsdtar on Fedora updated info screen reduced questions in cli interface code cleaning 3.8.2 show disk size in cli interface again code cleaning 3.8.1 fixed performance between partition dialogs removed unused character from error messages code cleaning 3.8 new, real time updated, output layout improved partition detection (thanks to pmav) new partition selection dialog show partitions filesystem in dialog interface check if root partition is given from arguments under certain scenarios fixed kernel options warning -f now accepts both local file path and url (-u is also kept for compatibility) code cleaning 3.7.4 fixed a warning message moved install_bootloader in "PROCESSING" dialog unified exit screen for both interfaces 3.7.3 enhanced btrfs subvolumes subsystem removed clear colorized info screen added -q, --quiet argument in backup.sh dont wait user input to exit when -q is given removed zenity wrappers 3.7.2 early btrfs detection using blkid mount_all now creates subvolumes added "View Partition Table" option in dialog interface fixed lsblk errors when no partitions found fixed colors when -q is given if architecture mismatch report both architectures updated info dialogs replaced unnecessary while loops with if statements 3.7.1 if no partitions found for root, abort changed a warning message fixed BRvarsubvol variable code cleaning 3.7 merged clean_unmount_when_subvols in clean_unmount_in show distro and architecture in summary check if selected bootloader exists in the archived system check if running and target system architecture match* ask for /home/boot/swap/custom partitions only if partition list is not empty removed useless tmpfs line in fstab added check for custom mountpoints syntax use custom partitions array to assign home and boot partitions hide used lvm partitions enabled tab auto completion in cli interface replaced error/warning messages in dialog interface with --msgbox more accurate cli dialogs added quit options in backup.sh dialogs fixed partition list in cli interface code cleaning * With this commit, 3.7 restore.sh will NOT accept backups made with previous versions. 3.6.11 backup.sh: obey -h argument when -d is not given 3.6.10 fixed fedora tar options detection code cleaning 3.6.9 use blkid to extract uuids, not lsblk 3.6.8 code cleaning/optimising dont hide used partitions in restore wrapper 3.6.7 fixed download gauge dialog speed remember url input in dialog interface 3.6.6 updated archlinux syslinux.cfg 3.6.5 sort custom partitions array check mountpoint syntax 3.6.4 fix in clean_unmount_in code cleaning 3.6.3 small fix in check_input 3.6.2 changed some dialogs code cleaning 3.6.1 better dialog order in backup.sh updated backup.sh wrapper 3.6 added libarchive tar (bsdtar) support changed any upper case argument input to lower case fixed syslinux check output in backup.sh re-ordered restore.sh help page updated wrappers 3.5.4 better handling of not mounted partitions updated backup.sh error messages code cleaning 3.5.3 added check in create_subvols/better cleaning code cleaning 3.5.2 smarter mounting process/better error handling-cleaning clean_unmount_in is now aware of not mounted partitions code cleaning 3.5.1 fixed cleaning tmp file if root is not empty if root failed to mount dont mount other partitions enabled color warnings in dialog interface 3.5 new output layout cleaner INFO/WARNING/ERROR messages added custom partitions option backup.sh reports found bootloaders cleaned fedora's grub config file check generated fstab for md devices safer unmount/cleaning process if not empty root partition dont mount anything else, unmount and abort immediately if /mnt/target exists abort dont allow partitions inside btrfs subvolumes 3.4.3 changed backup destination dialogs better raid detection 3.4.2 more accurate raid detection code cleaning 3.4.1 fixed opening file browser when reading archive fails 3.4 added log viewer in dialog interface re-written (un)mount/clean/create_subvols functions better explanation in backup help cleaner edit fstab dialog if tar/rsync completed successfully show it in the log if empty /home and /boot dirrectories exist in non-empty root partition dont touch them fixed last dialog in backup.sh when destination has spaces code cleaning 3.3.1 added simple file/directory browser in dialog interface better /home directory options in backup script and wrapper cleaner editors/bootloaders menu dialog corrected syntax in some dialogs changed summary dialog labels colorized summary code cleaning 3.3 added additional root mount/fstab options added additional kernel options with syslinux gpt support for debian/fedora with syslinux re-written install_bootloader better syslinux installation error checking changed dialogues added sgdisk check new syslinux output for debian/fedora bind /run - fixed grub /var/lock/dmraid warnings new help pages updated wrappers code cleaning 3.2 symlink local archive count archive content added bootloader installation error reporting code cleaning / re-arranging use dialog gauge functions in CLI interface are now a bit faster added manpage cosmetic changes new backup summary 3.1 added tar/rsync progress counter added backup.log and restore.log code re-arranging functions prepare_chroot build_initramfs generate_locales show in one dialog box better rsync syntax for /home's hidden files and folders dont generate locales in fedora various cosmetic changes 3.0 allow non-empty /boot and /home partitions changed backup folder name wait user input to exit backup script in CLI interface changed /home options in backup wrapper wrappers use sudo if installed 2.9.2 fixed raid arrays detection fixes in check_input 2.9 raid support option to install bootloader in all disks that an array contains option to symlink archive added -N, --no-color argument wrappers now find full script's path error reporting in backup script 2.8 fixed booting lvm root with syslinux added tar user options wrappers call main scripts with su -c wrappers show the generated command wrappers remember user input added xterm titles 2.7.1 fixed grub detection 2.7 remaned scripts added zenity wrappers better syslinux directory handling 2.6 xz support added -q --quiet, -o --only-hidden arguments better summary scripts are wrapper-ready now autodetect archive type save old syslinux.cfg added hostname in backup filename fixed file path with spaces in dialog interface autosize dialogs removed trailing spaces 2.5.1 write uuids in syslinux.cfg fixed typos 2.5 lvm support check if bootloader exists automatic distro detection changed color variables partitions given from arguments dont show them again check mount exit code added dialog titles better fstab generator better chroot enviroment preperation summary shows partition sizes if fedora+grub, save old /etc/default/grub and re-generate it 2.4 added transfer mode build initramfs for every available kernel add syslinux.cfg entries for every available kernel removed url ping check 2.3 better backup tar syntax fixed backing up files with spaces when only /home's hidden files and folders selected changed dialog sizes and syntax 2.2 check user input archive integrity check smart summary selected partitions dont show up again CLI colors autodetect fedora and add extra tar options bootloader is now optional edit fstab option better unmounting/cleaning with subvolumes changes in dialogs hidden password added info in restore script code cleaning small fixes 2.1 option for /home's hidden files and folder in backup added -i, --interface argument support for paths with spaces code re-arranging various fixes 2.0 initial commit