diff options
Diffstat (limited to 'backup-progress.in')
-rwxr-xr-x | backup-progress.in | 30 |
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 |