2018-06-22 14:56:13 +02:00
|
|
|
#!/usr/bin/env bash
|
2024-08-01 10:13:16 +02:00
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
# rsync-backup.sh - copy files recursivly with rsync
|
|
|
|
# by Tobias Powalowski <tpowa@archlinux.org>
|
2024-07-30 21:33:26 +02:00
|
|
|
. /usr/lib/archboot/common.sh
|
2023-01-09 18:38:55 +01:00
|
|
|
_usage()
|
2018-06-22 14:56:13 +02:00
|
|
|
{
|
2024-08-01 10:30:36 +02:00
|
|
|
echo -e "\e[1m\e[36mArchboot\e[m\e[1m - Rsync Backup\e[m"
|
|
|
|
echo -e "\e[1m-----------------------\e[m"
|
2024-08-01 09:59:56 +02:00
|
|
|
echo -e "- Copy \e[1m<backupdir>\e[m to \e[1m<backupdestination>\e[m using rsync."
|
|
|
|
echo -e "- For system backup, start with \e[1mfull\e[m mounted system and then"
|
|
|
|
echo -e " invoke this script with system's root directory as \e[1mbackupdir\e[m."
|
|
|
|
echo -e "- \e[1mExcluded\e[m directories are: \e[1m/dev /lost+found /mnt /media /proc /run /sys\e[m"
|
|
|
|
echo -e " \e[1m/sysroot /tmp /var/lib/systemd /var/run\e[m"
|
|
|
|
echo -e "- \e[1mUsers\e[m are \e[1mpreserved\e[m as numeric-ids"
|
2018-06-22 14:56:13 +02:00
|
|
|
echo ""
|
2024-08-01 09:59:56 +02:00
|
|
|
echo -e "Usage: \e[1m${_BASENAME} <backupdir> <backupdestination>\e[m"
|
2023-04-24 07:02:39 +02:00
|
|
|
exit 0
|
2018-06-22 14:56:13 +02:00
|
|
|
}
|
|
|
|
##################################################
|
|
|
|
if [ $# -ne 2 ]; then
|
2023-04-24 07:02:39 +02:00
|
|
|
_usage
|
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 \
|
2024-08-01 09:59:56 +02:00
|
|
|
--exclude={"/dev/*","/lost+found","/media/*","/mnt/*","/proc/*","/run/*","/sys/*","/sysroot/*","/tmp/*","/var/lib/systemd/*","/var/run/*"} \
|
2023-01-09 21:34:59 +01:00
|
|
|
"${_BACKUPDIR}" "${_BACKUPDESTINATION}"
|
2018-06-22 14:56:13 +02:00
|
|
|
|