48 lines
1.7 KiB
Bash
Executable File
48 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#user_name=borg
|
|
|
|
#if [ "$(id --user --name)" != "$bbbs_user_name" ]; then
|
|
# echo "$0 must be run as $bbbs_user_name"
|
|
# exit
|
|
#fi
|
|
|
|
REPO=omn-rss
|
|
|
|
log_prefix="/home/wuwei/.borg/logs/"$(date --utc "+%Y-%m")
|
|
mkdir --parent "${log_prefix}"
|
|
log_file="${log_prefix}/"$(date --utc "+%Y-%m-%d_%H.%M.%SZ")"_$client.log"
|
|
|
|
BORG_OPTIONS="--show-version --show-rc --list --stats --one-file-system --exclude-nodump --exclude-caches --keep-exclude-tags"
|
|
BORG_OPTIONS+=" --verbose"
|
|
COMMON_TARGET="/ /boot /etc /root /home /opt /srv /var /var/log /usr"
|
|
COMMON_EXCLUDE="--exclude /sys/ --exclude /proc/ --exclude /dev/ --exclude /run/ --exclude /var/run/ --exclude /var/lock --exclude /mnt/"
|
|
VOLATILE_EXCLUDE='--exclude /tmp/ --exclude /var/tmp/ --exclude /lost+found --exclude /var/cache/ --exclude /root/.cache --exclude /home/*/.cache'
|
|
LXD_EXCLUDE="--exclude /var/lib/lxd/*/rootfs/lost+found --exclude /var/lib/lxd/*/rootfs/media/* --exclude /var/lib/lxd/*/rootfs/mnt/* \
|
|
--exclude /var/lib/lxd/*/rootfs/proc/* --exclude /var/lib/lxd/*/rootfs/run/* --exclude /var/lib/lxd/*/rootfs/sys/* \
|
|
--exclude /var/lib/lxd/*/rootfs/tmp/*"
|
|
# Especially when not using --one-file-system
|
|
# --exclude /var/run # -> /run
|
|
|
|
SOCK_SRV="/tmp/borg-server.sock"
|
|
SOCK_CLI="/tmp/borg-client.sock"
|
|
|
|
. ./server-wrap.sh -s $SOCK_SRV $SOCK_CLI $REPO \
|
|
borg create \
|
|
"$BORG_OPTIONS" \
|
|
"$COMMON_EXCLUDE" "$VOLATILE_EXCLUDE" \
|
|
"$LXD_EXCLUDE" \
|
|
ssh://backup-server/$BORG_REPO_PATH/$REPO::{utcnow:%Y-%m-%d} \
|
|
"$COMMON_TARGET" \
|
|
#> $log_file 2>&1
|
|
2>&1 | tee $log_file
|
|
|
|
# Tidy up Remote - HOW???
|
|
#rm $SOCK_CLI
|
|
|
|
# --exclude /var/lib/lxd/ \
|
|
# --exclude /var/lib/vz/images/ \
|
|
|
|
# Tidy up
|
|
rm $SOCK_SRV
|