最終更新 6 months ago

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 1 insertion, 1 deletion

backuppc-achive-rclone.sh

@@ -49,7 +49,7 @@ get_archived_host_files() {
49 49 ${HEAD} -n -1 /proc/cpuinfo > /dev/null 2>&1 || { echo "E: head command does not support '-n' option."; exit 1; }
50 50 ARCHIVED_HOSTS="$(get_archived_hosts)"
51 51 for FILEHOSTNAME in $(get_archived_hosts); do
52 - ls -a ${BACKUPPC_ARCHIVE_PATH}/${FILEHOSTNAME}* | ${HEAD} -n -${BACKUPPC_ARCHIVE_RENTENTION}
52 + ls -atl ${BACKUPPC_ARCHIVE_PATH}/${FILEHOSTNAME}* | tr -s ' ' | cut -d ' ' -f 9 | sed "1,${BACKUPPC_ARCHIVE_RENTENTION} d"
53 53 done
54 54 }
55 55

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 1 insertion, 1 deletion

backuppc-achive-rclone.sh

@@ -59,7 +59,7 @@ archive_hosts() {
59 59 BACKUPPC_LATEST_BACKUP="$(tail -1 ${BACKUPPC_PC_PATH}/${CHECK_HOST}/backups | cut -d$'\t' -f1)"
60 60 [ -f ${BACKUPPC_ARCHIVE_PATH}/${CHECK_HOST}.${BACKUPPC_LATEST_BACKUP}.tar.* ] || BACKUPPC_ARCHIVE_HOSTS="${BACKUPPC_ARCHIVE_HOSTS} ${CHECK_HOST}"
61 61 done
62 - echo Backing up ${BACKUPPC_ARCHIVE_HOSTS}
62 + echo "Trigger archive export of the following hosts: ${BACKUPPC_ARCHIVE_HOSTS}"
63 63 if [ "$(whoami)" != "backuppc" ]; then
64 64 BACKUPPC_ARCHIVESTART="sudo -u backuppc ${BACKUPPC_ARCHIVESTART}"
65 65 fi

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 4 insertions, 4 deletions

backuppc-achive-rclone.sh

@@ -59,16 +59,16 @@ archive_hosts() {
59 59 BACKUPPC_LATEST_BACKUP="$(tail -1 ${BACKUPPC_PC_PATH}/${CHECK_HOST}/backups | cut -d$'\t' -f1)"
60 60 [ -f ${BACKUPPC_ARCHIVE_PATH}/${CHECK_HOST}.${BACKUPPC_LATEST_BACKUP}.tar.* ] || BACKUPPC_ARCHIVE_HOSTS="${BACKUPPC_ARCHIVE_HOSTS} ${CHECK_HOST}"
61 61 done
62 + echo Backing up ${BACKUPPC_ARCHIVE_HOSTS}
63 + if [ "$(whoami)" != "backuppc" ]; then
64 + BACKUPPC_ARCHIVESTART="sudo -u backuppc ${BACKUPPC_ARCHIVESTART}"
65 + fi
62 66 ${BACKUPPC_ARCHIVESTART} archive backuppc ${BACKUPPC_ARCHIVE_HOSTS}
63 67 }
64 68
65 69 case ${1} in
66 70 export)
67 71 get_backup_hosts
68 - echo Backing up ${HOSTS}
69 - if [ "$(whoami)" != "backuppc" ]; then
70 - BACKUPPC_ARCHIVESTART="sudo -u backuppc ${BACKUPPC_ARCHIVESTART}"
71 - fi
72 72 archive_hosts
73 73 ;;
74 74 sync)

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 7 insertions, 1 deletion

backuppc-achive-rclone.sh

@@ -23,6 +23,7 @@ HEAD="$(which /opt/bin/head || which head)"
23 23 [ -z ${RCLONE_REMOTE} ] && { echo "E: please set RCLONE_REMOTE in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
24 24 [ -z ${RCLONE_BUCKET} ] && { echo "E: please set RCLONE_BUCKET in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
25 25 [ -z ${BACKUPPC_ARCHIVE_PATH} ] && { echo "E: please set BACKUPPC_ARCHIVE_PATH in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
26 + [ -z ${BACKUPPC_PC_PATH} ] && { echo "E: please set BACKUPPC_PC_PATH in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
26 27
27 28 get_backup_hosts() {
28 29 # Taken from https://brb.epr.ch/blog/_export/code/blog:backuppc_script_archive_all_hosts?codeblock=0
@@ -53,7 +54,12 @@ get_archived_host_files() {
53 54 }
54 55
55 56 archive_hosts() {
56 - ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
57 + BACKUPPC_ARCHIVE_HOSTS=""
58 + for CHECK_HOST in ${HOSTS}; do
59 + BACKUPPC_LATEST_BACKUP="$(tail -1 ${BACKUPPC_PC_PATH}/${CHECK_HOST}/backups | cut -d$'\t' -f1)"
60 + [ -f ${BACKUPPC_ARCHIVE_PATH}/${CHECK_HOST}.${BACKUPPC_LATEST_BACKUP}.tar.* ] || BACKUPPC_ARCHIVE_HOSTS="${BACKUPPC_ARCHIVE_HOSTS} ${CHECK_HOST}"
61 + done
62 + ${BACKUPPC_ARCHIVESTART} archive backuppc ${BACKUPPC_ARCHIVE_HOSTS}
57 63 }
58 64
59 65 case ${1} in

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 5 insertions, 1 deletion

backuppc-achive-rclone.sh

@@ -52,6 +52,10 @@ get_archived_host_files() {
52 52 done
53 53 }
54 54
55 + archive_hosts() {
56 + ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
57 + }
58 +
55 59 case ${1} in
56 60 export)
57 61 get_backup_hosts
@@ -59,7 +63,7 @@ case ${1} in
59 63 if [ "$(whoami)" != "backuppc" ]; then
60 64 BACKUPPC_ARCHIVESTART="sudo -u backuppc ${BACKUPPC_ARCHIVESTART}"
61 65 fi
62 - ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
66 + archive_hosts
63 67 ;;
64 68 sync)
65 69 if [ -z "${RCLONE_BWLIMIT}" ]; then

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 1 insertion

backuppc-achive-rclone.sh

@@ -69,6 +69,7 @@ case ${1} in
69 69 fi
70 70 ;;
71 71 cleanup)
72 + [ -z "$(get_archived_host_files)" ] && { echo "W: Nothing to clean up at the moment"; exit 0; }
72 73 rm $(get_archived_host_files)
73 74 ;;
74 75 *)

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 6 insertions, 2 deletions

backuppc-achive-rclone.sh

@@ -17,7 +17,7 @@ BACKUPPC_ARCHIVESTART="${BACKUPPC_ARCHIVESTART:=/usr/share/backuppc/bin/BackupPC
17 17 BACKUPPC_ARCHIVE_RENTENTION="${BACKUPPC_ARCHIVE_RENTENTION:=2}"
18 18 RCLONE_BIN="${RCLONE_BIN:=rclone}"
19 19 RCLONE_BUCKET="${RCLONE_BUCKET:=backuppc-archive}"
20 - RCLONE_BWLIMIT="${RCLONE_BWLIMIT:=--bwlimit '06:00,512 22:00,1M'}"
20 + RCLONE_BWLIMIT="${RCLONE_BWLIMIT:="06:00,512 22:00,1M"}"
21 21 HEAD="$(which /opt/bin/head || which head)"
22 22
23 23 [ -z ${RCLONE_REMOTE} ] && { echo "E: please set RCLONE_REMOTE in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
@@ -62,7 +62,11 @@ case ${1} in
62 62 ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
63 63 ;;
64 64 sync)
65 - ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit '06:00,512 22:00,1M' # ${RCLONE_BWLIMIT}
65 + if [ -z "${RCLONE_BWLIMIT}" ]; then
66 + ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATH} ${RCLONE_REMOTE}:${RCLONE_BUCKET}
67 + else
68 + ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit "${RCLONE_BWLIMIT}"
69 + fi
66 70 ;;
67 71 cleanup)
68 72 rm $(get_archived_host_files)

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 1 insertion, 1 deletion

backuppc-achive-rclone.sh

@@ -48,7 +48,7 @@ get_archived_host_files() {
48 48 ${HEAD} -n -1 /proc/cpuinfo > /dev/null 2>&1 || { echo "E: head command does not support '-n' option."; exit 1; }
49 49 ARCHIVED_HOSTS="$(get_archived_hosts)"
50 50 for FILEHOSTNAME in $(get_archived_hosts); do
51 - ls -a /share/MD0_DATA/tmp/backuppc-archive/${FILEHOSTNAME}* | ${HEAD} -n -${BACKUPPC_ARCHIVE_RENTENTION}
51 + ls -a ${BACKUPPC_ARCHIVE_PATH}/${FILEHOSTNAME}* | ${HEAD} -n -${BACKUPPC_ARCHIVE_RENTENTION}
52 52 done
53 53 }
54 54

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 3 insertions, 3 deletions

backuppc-achive-rclone.sh

@@ -22,7 +22,7 @@ HEAD="$(which /opt/bin/head || which head)"
22 22
23 23 [ -z ${RCLONE_REMOTE} ] && { echo "E: please set RCLONE_REMOTE in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
24 24 [ -z ${RCLONE_BUCKET} ] && { echo "E: please set RCLONE_BUCKET in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
25 - [ -z ${BACKUPPC_ARCHIVE_PATCH} ] && { echo "E: please set BACKUPPC_ARCHIVE_PATCH in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
25 + [ -z ${BACKUPPC_ARCHIVE_PATH} ] && { echo "E: please set BACKUPPC_ARCHIVE_PATH in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
26 26
27 27 get_backup_hosts() {
28 28 # Taken from https://brb.epr.ch/blog/_export/code/blog:backuppc_script_archive_all_hosts?codeblock=0
@@ -39,7 +39,7 @@ get_backup_hosts() {
39 39 }
40 40
41 41 get_archived_hosts() {
42 - for FILE in ${BACKUPPC_ARCHIVE_PATCH}/*; do
42 + for FILE in ${BACKUPPC_ARCHIVE_PATH}/*; do
43 43 basename $FILE .tar.bz2 | sed 's/\.[[:digit:]]\+.*//g';
44 44 done | uniq
45 45 }
@@ -62,7 +62,7 @@ case ${1} in
62 62 ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
63 63 ;;
64 64 sync)
65 - ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATCH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit '06:00,512 22:00,1M' # ${RCLONE_BWLIMIT}
65 + ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit '06:00,512 22:00,1M' # ${RCLONE_BWLIMIT}
66 66 ;;
67 67 cleanup)
68 68 rm $(get_archived_host_files)

Jan Wagner revised this gist 6 years ago. Go to revision

1 file changed, 1 insertion

backuppc-achive-rclone.sh

@@ -16,6 +16,7 @@ BACKUPPC_HOSTS="${BACKUPPC_HOSTS:=/etc/backuppc/hosts}"
16 16 BACKUPPC_ARCHIVESTART="${BACKUPPC_ARCHIVESTART:=/usr/share/backuppc/bin/BackupPC_archiveStart}"
17 17 BACKUPPC_ARCHIVE_RENTENTION="${BACKUPPC_ARCHIVE_RENTENTION:=2}"
18 18 RCLONE_BIN="${RCLONE_BIN:=rclone}"
19 + RCLONE_BUCKET="${RCLONE_BUCKET:=backuppc-archive}"
19 20 RCLONE_BWLIMIT="${RCLONE_BWLIMIT:=--bwlimit '06:00,512 22:00,1M'}"
20 21 HEAD="$(which /opt/bin/head || which head)"
21 22
Newer Older