#!/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