diff --git a/software/slaprunner/buildout.hash.cfg b/software/slaprunner/buildout.hash.cfg index 35a3a9aee4036485f2c698db066dd6e1f008d44e..8286d42139af23f83a0c256f11e0be9488d3695d 100644 --- a/software/slaprunner/buildout.hash.cfg +++ b/software/slaprunner/buildout.hash.cfg @@ -30,7 +30,7 @@ md5sum = 7a879739afe55320ee96409bcc8a52ab [template-runner-export-script] filename = template/runner-export.sh.jinja2 -md5sum = 98ce179badc6af5979a64a7c3d0a2ceb +md5sum = 5877e70b2bd5cfe06aff793125f65d6a [instance-runner-export] filename = instance-runner-export.cfg.in diff --git a/software/slaprunner/template/runner-export.sh.jinja2 b/software/slaprunner/template/runner-export.sh.jinja2 index e865c35a8a893f4a92d6a058cdd5618bb71d8567..4a76a0441d54ec195613dc76ff32b7c92fa4596d 100644 --- a/software/slaprunner/template/runner-export.sh.jinja2 +++ b/software/slaprunner/template/runner-export.sh.jinja2 @@ -113,16 +113,18 @@ trap remove_tmp_files EXIT # Getting files from runner backup directory, as instance backup files may be # explicitely excluded from the backup, using the srv/exporter.exclude +backup_directory_path="$tmp_directory/backup_files.txt" cd {{ directory['backup'] }} -backup_directory_path=$(find . -path "./runner/instance/slappart*/srv/backup/*" -type f) +find . -path "./runner/instance/slappart*/srv/backup/*" -type f -print0 > $backup_directory_path # If no backup found, it's over -if [ -z "$backup_directory_path" ]; then +if [ ! -s "$backup_directory_path" ]; then exit 0 fi sleep 5 -sha256sum $backup_directory_path | sort -k 66 > "$tmp_backup_sum" +cat $backup_directory_path | xargs -0 sha256sum | sort -k 66 > "$tmp_backup_sum" +rm $backup_directory_path egrep "instance/slappart.*/srv/backup/" "$backup_directory/backup.signature" > "$tmp_filtered_signature" # If the diff fails, then the notifier will restart this script