2018-06-22 14:56:13 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# copy-mointpoint.sh - copy recursivly a mountpoint using tar
|
|
|
|
# by Tobias Powalowski <tpowa@archlinux.org>
|
|
|
|
# usage(exitvalue)
|
|
|
|
# outputs a usage message and exits with value
|
2023-04-23 21:50:36 +02:00
|
|
|
_APPNAME=${0##*/}
|
2023-01-09 18:38:55 +01:00
|
|
|
_usage()
|
2018-06-22 14:56:13 +02:00
|
|
|
{
|
2023-02-07 20:19:31 +01:00
|
|
|
echo -e "\e[1mWelcome to \e[36mARCHBOOT\e[m\e[1m - RSYNC BACKUP:\e[m"
|
|
|
|
echo -e "\e[1m-----------------------------------\e[m"
|
|
|
|
echo -e "- Copy \e[1mbackupdir\e[m to \e[1mbackupdestination\e[m using rsync."
|
|
|
|
echo -e "- For system backup, start with \e[1mfull\e[m mounted system and then invoke this script"
|
|
|
|
echo -e " with system's root directory as \e[1mbackupdir\e[m."
|
|
|
|
echo -e "- \e[1mexcluded\e[m directories are \e[1m/dev /tmp /proc /sys /run /mnt /media /lost+found\e[m"
|
2023-02-13 22:05:52 +01:00
|
|
|
echo -e " \e[1mexcluded\e[m \e[1m/sysroot /var/run /var/lib/systemd\e[m"
|
2023-02-07 20:19:31 +01:00
|
|
|
echo -e "- \e[1m--numeric-ids\e[m option is invoked to \e[1mpreserve\e[m users"
|
2018-06-22 14:56:13 +02:00
|
|
|
echo ""
|
2023-02-07 20:19:31 +01:00
|
|
|
echo -e "usage: \e[1m${_APPNAME} <backupdir> <backupdestination>\e[m"
|
2022-01-21 11:31:10 +01:00
|
|
|
exit "$1"
|
2018-06-22 14:56:13 +02:00
|
|
|
}
|
|
|
|
##################################################
|
|
|
|
if [ $# -ne 2 ]; then
|
2023-01-09 18:38:55 +01:00
|
|
|
_usage 1
|
2018-06-22 14:56:13 +02:00
|
|
|
fi
|
2023-01-09 18:38:55 +01:00
|
|
|
_BACKUPDESTINATION="${2}"
|
|
|
|
_BACKUPDIR="${1}"
|
|
|
|
rsync -aAXv --numeric-ids \
|
2023-02-13 22:12:10 +01:00
|
|
|
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/sysroot/*"} \
|
2023-01-09 21:34:59 +01:00
|
|
|
"${_BACKUPDIR}" "${_BACKUPDESTINATION}"
|
2018-06-22 14:56:13 +02:00
|
|
|
|