diff --git a/usr/bin/rsync-backup.sh b/usr/bin/rsync-backup.sh new file mode 100755 index 000000000..dff10d50a --- /dev/null +++ b/usr/bin/rsync-backup.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# +# copy-mointpoint.sh - copy recursivly a mountpoint using tar +# by Tobias Powalowski +# usage(exitvalue) +# outputs a usage message and exits with value +APPNAME=$(basename "${0}") +usage() +{ + echo "RSYNC BACKUP:" + echo "- Copy backupdir to backupdestination using rsync." + echo "" + echo "- For system backup start with full mounted system and then invoke this script" + echo " with system's root directory as backupdir." + echo " - excluded directories are /dev /tmp /proc /sys /run /mnt /media /lost+found" + echo " - --numeric-ids option is invoked to preserve users" + echo "" + echo "usage: ${APPNAME} " + exit $1 +} + +################################################## + +if [ $# -ne 2 ]; then + usage 1 +fi + +BACKUPDESTINATION="${2}" +BACKUPDIR="${1}" + +rsync -aAXv --numeric-ids --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} $BACKUPDIR $BACKUPDESTINATION + diff --git a/usr/lib/initcpio/install/arch_base b/usr/lib/initcpio/install/arch_base index 157484896..b36ed456c 100644 --- a/usr/lib/initcpio/install/arch_base +++ b/usr/lib/initcpio/install/arch_base @@ -84,6 +84,8 @@ build () ### add copy-mountpoint.sh add_file "/usr/bin/copy-mountpoint.sh" + ### add rsync-backup.sh + add_file "/usr/bin/rsync-backup.sh" ### add pam apps="mkhomedir_helper pam_tally pam_tally2 pam_timestamp_check unix_chkpwd unix_update"