Add support for network directories.
This commit is contained in:
@ -203,6 +203,7 @@ DEFAULT_BORG_RSH='ssh -i /root/.ssh/id_ed25519-borg-backup'
|
|||||||
DEFAULT_DB_BACKUP_DIR="/data/backup/sql"
|
DEFAULT_DB_BACKUP_DIR="/data/backup/sql"
|
||||||
|
|
||||||
DEFAULT_BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
DEFAULT_BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
MOUNT_NETDIR=false
|
||||||
|
|
||||||
DEFAULT_KEEP_DAILY=10
|
DEFAULT_KEEP_DAILY=10
|
||||||
DEFAULT_KEEP_WEEKLY=5
|
DEFAULT_KEEP_WEEKLY=5
|
||||||
@ -337,6 +338,8 @@ fi
|
|||||||
|
|
||||||
[[ -z "${BACKUP_DIRECTORIES}" ]] && BACKUP_DIRECTORIES="${DEFAULT_BACKUP_DIRECTORIES}"
|
[[ -z "${BACKUP_DIRECTORIES}" ]] && BACKUP_DIRECTORIES="${DEFAULT_BACKUP_DIRECTORIES}"
|
||||||
|
|
||||||
|
[[ -n "${BACKUP_NET_DIRECTORIES}" ]] && MOUNT_NETDIR=true
|
||||||
|
|
||||||
# By default: Borg won't follow symlinks
|
# By default: Borg won't follow symlinks
|
||||||
#
|
#
|
||||||
BORG_BACKUP_DIRS=""
|
BORG_BACKUP_DIRS=""
|
||||||
@ -787,6 +790,51 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
|
||||||
|
if $MOUNT_NETDIR ; then
|
||||||
|
|
||||||
|
if $terminal ; then
|
||||||
|
echo ""
|
||||||
|
echo -e " \033[1m---\033[m"
|
||||||
|
echo -e " \033[32mMount Network filesystems.. \033[m"
|
||||||
|
echo -e " \033[1m---\033[m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -i _net_dir_index=0
|
||||||
|
MOUNTED_NET_DIRECTORIES=""
|
||||||
|
|
||||||
|
for _net_dir in ${BACKUP_NET_DIRECTORIES} ; do
|
||||||
|
|
||||||
|
echononl "Mount network directory '${_net_dir}'.."
|
||||||
|
|
||||||
|
if ! $(df -h 2> /dev/null | grep -q ${_net_dir} 2>/dev/null) ; then
|
||||||
|
|
||||||
|
cat <<EOF >> ${BORG_LOG_FILE}
|
||||||
|
mount "${_net_dir}" > /dev/null 2> ${log_file}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
mount "${_net_dir}" > /dev/null 2> ${log_file}
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
if [[ ${_net_dir_index} -lt 1 ]] ; then
|
||||||
|
MOUNTED_NET_DIRECTORIES="${_net_dir}"
|
||||||
|
else
|
||||||
|
MOUNTED_NET_DIRECTORIES="${MOUNTED_NET_DIRECTORIES} ${_net_dir}"
|
||||||
|
fi
|
||||||
|
(( _net_dir_index++ ))
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo_skipped
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
blank_line
|
blank_line
|
||||||
|
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
@ -797,6 +845,11 @@ if $terminal ; then
|
|||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echononl "Create borg backup.."
|
echononl "Create borg backup.."
|
||||||
|
|
||||||
cat << EOF >> ${BORG_LOG_FILE}
|
cat << EOF >> ${BORG_LOG_FILE}
|
||||||
@ -823,7 +876,7 @@ borg2 \\
|
|||||||
--exclude '**/sessions/*' \\
|
--exclude '**/sessions/*' \\
|
||||||
--exclude '**/*.20[2-3][0-9]-[0-1][0-9]*' \\
|
--exclude '**/*.20[2-3][0-9]-[0-1][0-9]*' \\
|
||||||
${ARCHIVE_NAME} \\
|
${ARCHIVE_NAME} \\
|
||||||
${BORG_BACKUP_DIRS} \\
|
${BORG_BACKUP_DIRS} ${BACKUP_NET_DIRECTORIES} \\
|
||||||
${DB_BACKUP_DIR}
|
${DB_BACKUP_DIR}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@ -851,7 +904,7 @@ borg2 \
|
|||||||
--exclude '**/sessions/*' \
|
--exclude '**/sessions/*' \
|
||||||
--exclude '**/*.20[2-3][0-9]-[0-1][0-9]*' \
|
--exclude '**/*.20[2-3][0-9]-[0-1][0-9]*' \
|
||||||
${ARCHIVE_NAME} \
|
${ARCHIVE_NAME} \
|
||||||
${BORG_BACKUP_DIRS} \
|
${BORG_BACKUP_DIRS} ${BACKUP_NET_DIRECTORIES} \
|
||||||
${DB_BACKUP_DIR} \
|
${DB_BACKUP_DIR} \
|
||||||
> ${log_file} 2>&1
|
> ${log_file} 2>&1
|
||||||
|
|
||||||
@ -957,6 +1010,39 @@ if [[ -n "${DB_TYPE}" ]] && [[ ! "${DB_TYPE,,}" = "none" ]]; then
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
|
||||||
|
if ${MOUNT_NETDIR} && [[ -n ${MOUNTED_NET_DIRECTORIES} ]] ; then
|
||||||
|
|
||||||
|
if $terminal ; then
|
||||||
|
echo ""
|
||||||
|
echo -e " \033[1m---\033[m"
|
||||||
|
echo -e " \033[32mUnount Network filesystems.. \033[m"
|
||||||
|
echo -e " \033[1m---\033[m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for _net_dir in ${MOUNTED_NET_DIRECTORIES} ; do
|
||||||
|
|
||||||
|
echononl "Unmount network directory '${_net_dir}'.."
|
||||||
|
|
||||||
|
|
||||||
|
cat <<EOF >> ${BORG_LOG_FILE}
|
||||||
|
umount "${_net_dir}" > /dev/null 2> ${log_file}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
umount "${_net_dir}" > /dev/null 2> ${log_file}
|
||||||
|
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Duration of backup
|
# Duration of backup
|
||||||
|
@ -189,6 +189,21 @@
|
|||||||
#BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
#BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
|
||||||
|
|
||||||
|
# BACKUP_NET_DIRECTORIES
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# BACKUP_NET_DIRECTORIES=""
|
||||||
|
#
|
||||||
|
# - Blank separated list of net directories -
|
||||||
|
#
|
||||||
|
# !! Note !!
|
||||||
|
#
|
||||||
|
# every net directoty
|
||||||
|
#
|
||||||
|
#BACKUP_NET_DIRECTORIES=""
|
||||||
|
|
||||||
|
|
||||||
# KEEP_DAILY
|
# KEEP_DAILY
|
||||||
#
|
#
|
||||||
# Number of daily archives to keep
|
# Number of daily archives to keep
|
||||||
|
Reference in New Issue
Block a user