summaryrefslogtreecommitdiff
path: root/backup-progress.in
diff options
context:
space:
mode:
Diffstat (limited to 'backup-progress.in')
-rwxr-xr-xbackup-progress.in30
1 files changed, 30 insertions, 0 deletions
diff --git a/backup-progress.in b/backup-progress.in
new file mode 100755
index 0000000..c5cb655
--- /dev/null
+++ b/backup-progress.in
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+. #ETCDIR#/backup.conf
+
+export LC_ALL=C
+
+for backupID in "${!backups[@]}"; do
+ [ -s "/tmp/${backupID}.pid" ] || continue
+ kill -0 $(cat "/tmp/${backupID}.pid") || continue
+ dir="${backups["${backupID}"]%% *}"
+ last=$(
+ ls -1 "$dir" \
+ | grep '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}' \
+ | sort \
+ | tail -n1
+ )
+ last_size=$(
+ du -s "${dir}/${last}" \
+ | awk '{print $1}'
+ )
+ current_size=$(
+ du -s "${dir}/aktuell" \
+ | awk '{print $1}'
+ )
+ percentage=$(
+ printf '100*%s/%s\n' "${current_size}" "${last_size}" \
+ | bc -l
+ )
+ printf '%6.2f %% %s\n' "${percentage}" "${backupID}"
+done