diff --git a/usr/local/bin/sh.zio.backup b/usr/local/bin/sh.zio.backup index 9082e9d..4f33a60 100755 --- a/usr/local/bin/sh.zio.backup +++ b/usr/local/bin/sh.zio.backup @@ -127,22 +127,22 @@ function invoke_script() { set -o pipefail exec 3>&1 - script_error_log="$(create_tmp_file)" - script_output=$("$backup_scripts_dir/$backup_script_filename" 2>$script_error_log | tee /dev/fd/3) + script_error_log_path="$(create_tmp_file)" + script_output=$("$backup_scripts_dir/$backup_script_filename" 2>$script_error_log_path | tee /dev/fd/3) + script_result="$?" + script_log_path="$(create_log "$script_output")" - if [[ -f "$script_error_log" ]]; then - cat "$script_error_log" + if [[ -f "$script_error_log_path" ]]; then + cat "$script_error_log_path" fi - if [[ "$?" == 0 ]]; then - trigger_notify "success" "Backup script succeeded: $backup_script_name" "..." + if [[ "$script_result" == 0 ]]; then + trigger_notify "success" "Backup script succeeded: $backup_script_name" "$script_log_path" else - trigger_notify "error" "Backup script failed: $backup_script_name" "$(cat "$script_error_log")" + trigger_notify "error" "Backup script failed: $backup_script_name" "$(cat "$script_error_log_path")" fi - echo "$script_error_log" - - #rm -f "$script_error_log" + rm -f "$script_error_log_path" set +o pipefail exec 3>&- @@ -151,10 +151,14 @@ function invoke_script() { function trigger_notify() { level="$1" title="$2" - output="$(echo "$3" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g")" + message="$(echo "$3" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g")" + log_path="$4" notify_prog="/usr/local/bin/sh.zio.notify" - log_path="$(create_log "$output")" + if [[ $log_path == "" ]]; then + log_path="$message" + message="" + fi if [[ ! -f "$notify_prog" ]]; then say warning "'$notify_prog' not found. Not sending notification" @@ -162,9 +166,8 @@ function trigger_notify() { "$notify_prog" \ --file "$log_path" \ --level "$level" \ + --message '```\\n'"${message//$'\n'/'\\n'}"'\\n```' \ --title "$title" - - #--message '```\\n'"${output//$'\n'/'\\n'}"'\\n```' \ fi }