From 2bf4d0dd0f41609f6e1157d6e4a84e9504fdeb36 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Mon, 16 Jan 2023 14:25:31 +0100 Subject: [PATCH] mtree includes must be directories --- client/lib/main.sh | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/client/lib/main.sh b/client/lib/main.sh index ddc8070..090af60 100644 --- a/client/lib/main.sh +++ b/client/lib/main.sh @@ -201,19 +201,21 @@ sync() { for i in "${!rsync_includes[@]}"; do include="${rsync_includes[i]}" - # … but exclude for mtree what will be excluded by Rsync - mtree_excludes_file="$(mktemp --tmpdir "${PROGNAME}.${sync_name}.mtree-excludes.XXXXXX")" - add_to_temp_files "${mtree_excludes_file}" + if [ -d "${include}" ]; then + # … but exclude for mtree what will be excluded by Rsync + mtree_excludes_file="$(mktemp --tmpdir "${PROGNAME}.${sync_name}.mtree-excludes.XXXXXX")" + add_to_temp_files "${mtree_excludes_file}" - for j in "${!rsync_excludes[@]}"; do - echo "${rsync_excludes[j]}" | grep -E "^([^/]|${include})" | sed -e "s|^${include}|.|" >> "${mtree_excludes_file}" - done + for j in "${!rsync_excludes[@]}"; do + echo "${rsync_excludes[j]}" | grep -E "^([^/]|${include})" | sed -e "s|^${include}|.|" >> "${mtree_excludes_file}" + done - mtree_file="/var/log/evobackup.$(basename "${include}").mtree" - add_to_temp_files "${mtree_file}" + mtree_file="/var/log/evobackup.$(basename "${include}").mtree" + add_to_temp_files "${mtree_file}" - ${mtree_bin} -x -c -p "${include}" -X "${mtree_excludes_file}" > "${mtree_file}" - mtree_files+=("${mtree_file}") + ${mtree_bin} -x -c -p "${include}" -X "${mtree_excludes_file}" > "${mtree_file}" + mtree_files+=("${mtree_file}") + fi done if [ "${#mtree_files[@]}" -le 0 ]; then