Última atividade 6 months ago

Jan Wagner revisou este gist 6 years ago. Ir para a revisão

1 file changed, 4 insertions, 1 deletion

backuppc-achive-rclone.sh

@@ -67,6 +67,9 @@ case ${1} in
67 67 rm $(get_archived_host_files)
68 68 ;;
69 69 *)
70 - echo "ERROR: Use 'export' for queuing BackupPC archive export or 'sync' to start rcloud sync!"
70 + echo "ERROR: Use the following keywords:"
71 + echo "'export' for queuing BackupPC archive export"
72 + echo "'sync' to start rcloud sync"
73 + echo "'cleanup' for removing unneeded archives"
71 74 exit 1
72 75 esac

Jan Wagner revisou este gist 6 years ago. Ir para a revisão

1 file changed, 2 insertions, 2 deletions

backuppc-achive-rclone.sh

@@ -64,9 +64,9 @@ case ${1} in
64 64 ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATCH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit '06:00,512 22:00,1M' # ${RCLONE_BWLIMIT}
65 65 ;;
66 66 cleanup)
67 - get_archived_host_files
67 + rm $(get_archived_host_files)
68 68 ;;
69 69 *)
70 70 echo "ERROR: Use 'export' for queuing BackupPC archive export or 'sync' to start rcloud sync!"
71 71 exit 1
72 - esac
72 + esac

Jan Wagner revisou este gist 6 years ago. Ir para a revisão

1 file changed, 0 insertions, 0 deletions

Arquivo vazio

waja revisou este gist 6 years ago. Ir para a revisão

Sem alterações

waja revisou este gist 6 years ago. Ir para a revisão

1 file changed, 72 insertions

backuppc-achive-rclone.sh(arquivo criado)

@@ -0,0 +1,72 @@
1 + #!/bin/bash
2 +
3 + if [ -r /opt/etc/default/backuppc-achive-rclone ]; then
4 + source /opt/etc/default/backuppc-achive-rclone
5 + else
6 + source /etc/default/backuppc-achive-rclone
7 + fi
8 +
9 + if [ -r /opt/etc/backuppc-achive-rclone.conf ]; then
10 + source /opt/etc/backuppc-achive-rclone.conf
11 + else
12 + source /etc/backuppc-achive-rclone.conf
13 + fi
14 +
15 + BACKUPPC_HOSTS="${BACKUPPC_HOSTS:=/etc/backuppc/hosts}"
16 + BACKUPPC_ARCHIVESTART="${BACKUPPC_ARCHIVESTART:=/usr/share/backuppc/bin/BackupPC_archiveStart}"
17 + BACKUPPC_ARCHIVE_RENTENTION="${BACKUPPC_ARCHIVE_RENTENTION:=2}"
18 + RCLONE_BIN="${RCLONE_BIN:=rclone}"
19 + RCLONE_BWLIMIT="${RCLONE_BWLIMIT:=--bwlimit '06:00,512 22:00,1M'}"
20 + HEAD="$(which /opt/bin/head || which head)"
21 +
22 + [ -z ${RCLONE_REMOTE} ] && { echo "E: please set RCLONE_REMOTE in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
23 + [ -z ${RCLONE_BUCKET} ] && { echo "E: please set RCLONE_BUCKET in /opt/etc/backuppc-achive-rclone.conf or /etc/backuppc-achive-rclone.conf!"; exit 1; }
24 + [ -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 +
26 + get_backup_hosts() {
27 + # Taken from https://brb.epr.ch/blog/_export/code/blog:backuppc_script_archive_all_hosts?codeblock=0
28 + HOSTS=""
29 + while read -r LINE; do
30 + # Skip comments
31 + [[ "${LINE}" =~ ^#.*$ ]] && continue
32 +
33 + HOST=`echo ${LINE} | cut -f 1 -d " "`
34 + ! [ "${HOST}" != "" -a "${HOST}" != "archive" -a "${HOST}" != "host" ] && continue
35 +
36 + HOSTS="${HOSTS} ${HOST}"
37 + done < "${BACKUPPC_HOSTS}"
38 + }
39 +
40 + get_archived_hosts() {
41 + for FILE in ${BACKUPPC_ARCHIVE_PATCH}/*; do
42 + basename $FILE .tar.bz2 | sed 's/\.[[:digit:]]\+.*//g';
43 + done | uniq
44 + }
45 +
46 + get_archived_host_files() {
47 + ${HEAD} -n -1 /proc/cpuinfo > /dev/null 2>&1 || { echo "E: head command does not support '-n' option."; exit 1; }
48 + ARCHIVED_HOSTS="$(get_archived_hosts)"
49 + for FILEHOSTNAME in $(get_archived_hosts); do
50 + ls -a /share/MD0_DATA/tmp/backuppc-archive/${FILEHOSTNAME}* | ${HEAD} -n -${BACKUPPC_ARCHIVE_RENTENTION}
51 + done
52 + }
53 +
54 + case ${1} in
55 + export)
56 + get_backup_hosts
57 + echo Backing up ${HOSTS}
58 + if [ "$(whoami)" != "backuppc" ]; then
59 + BACKUPPC_ARCHIVESTART="sudo -u backuppc ${BACKUPPC_ARCHIVESTART}"
60 + fi
61 + ${BACKUPPC_ARCHIVESTART} archive backuppc ${HOSTS}
62 + ;;
63 + sync)
64 + ${RCLONE_BIN} sync ${BACKUPPC_ARCHIVE_PATCH} ${RCLONE_REMOTE}:${RCLONE_BUCKET} --bwlimit '06:00,512 22:00,1M' # ${RCLONE_BWLIMIT}
65 + ;;
66 + cleanup)
67 + get_archived_host_files
68 + ;;
69 + *)
70 + echo "ERROR: Use 'export' for queuing BackupPC archive export or 'sync' to start rcloud sync!"
71 + exit 1
72 + esac
Próximo Anterior