2018-02-07 Глухая Отправка Уведомлений Об Ошибках Из Приложения

Ошибка: Код бекапа проверяет свободное место и если его не хватает - шлет alarm и падает.

if [ $node_backup_freespace -le $mysize ]; then
        /node/bin/alarm "no free space for bk $VM_NODE_BACKUP $VM_DIR $node_backup_freespace $mysize"
        exit 1
fi

Код alarm:

#!/bin/bash
 
msg="$HOSTNAME: $@"
msg=${msg// /%20}
wget -O - "xxxxxxxxx&text=$msg"
exit 0

Как это выглядит в консоли и логах:

START /bin/vm backup xxx  [799576]
/node/bin/vm_backup START
--2018-02-07 17:28:54--  xxxxx&text=xxx:%20no%20free%20space%20for%20bk%20xxx%20/vm/office/xxx%20663%20892
Resolving xxxx... xxx
Connecting to xxx|xxx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2 [text/html]
Saving to: “STDOUT”
 
 0% [                                                                                                                                                                            ] 0           --.-K/s              O100%[===========================================================================================================================================================================>] 2           --.-K/s   in 0s      
 
2018-02-07 17:28:55 (657 KB/s) - written to stdout [2/2]
 
 
ERROR_PROG=/bin/vm  backup xxx  ERROR_STACK=/bin/vm
ERROR_SOURCE=/bin/vm backup xxx ERROR_CMD="/node/bin/__vm "$@"" ERROR_STATUS=1 LINENO=12 FUNC: main
 
7:if [[ "${2:---}" != --* ]] && [ "${1:-}" != "create" ] && [ "$2" != "ALL" ] ; then
8:	. /node/bin/__vm_config $2
9:	[[ " $SKIP_LOCK " != *" $1 "* ]] && /node/bin/__lock $VM_DIR/vm.lock $$
10:fi
11-
12:/node/bin/__vm "$@"
13-
14:if [[ "${2:---}" != --* ]] && [ "$2" != "ALL" ] ; then
15:	. /node/bin/__vm_config $2
16:	[[ " $SKIP_LOCK " != *" $1 "* ]] && /node/bin/__unlock $VM_DIR/vm.lock $$
17:fi
FAILED /bin/vm backup xxx [799576]

В логах совершенно непонятна причина поломки.

Как надо делать: Функция alarm должна дополнительно выводить сообщение, которое в нее передают, чтобы оно попало в логи в читаемом виде:

#!/bin/bash
 
msg="$HOSTNAME: $@"
wget_msg=${msg// /%20}
wget -O - "xxxxxxxxx&text=$wget_msg"
echo "$msg" >&2
exit 0

Аналогично в питоне, если мы вешаем хук в logging, чтобы он дополнительно отправлял CRITICAL или ERROR в какую-то систему реагирования, эта ошибка также попадает и в основной лог приложения. Ничего не должно скрываться.

~~OWNERAPPROVE~~

Прочитал правила разработки как не надо делать 2018-02-07 глухая отправка уведомлений об ошибках из приложения
Yes(31) No(0) Clear

Yes:
, 1, -1 OR 2+859-859-1=0+0+0+1 -- , -1 OR 3+859-859-1=0+0+0+1 -- , -1 OR 2+752-752-1=0+0+0+1, -1 OR 3+752-752-1=0+0+0+1, -1' OR 2+448-448-1=0+0+0+1 -- , -1' OR 3+448-448-1=0+0+0+1 -- , -1' OR 2+132-132-1=0+0+0+1 or 'VjlIDiQh'=', -1' OR 3+132-132-1=0+0+0+1 or 'VjlIDiQh'=', -1" OR 2+35-35-1=0+0+0+1 -- , -1" OR 3+35-35-1=0+0+0+1 -- , if(now()=sysdate(),sleep(15),0), 0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z, 0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z, (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/, -1; waitfor delay '0:0:15' -- , -1); waitfor delay '0:0:15' -- , 1 waitfor delay '0:0:15' -- , poBgxH8u'; waitfor delay '0:0:15' -- , -5 OR 180=(SELECT 180 FROM PG_SLEEP(15))--, -5) OR 940=(SELECT 940 FROM PG_SLEEP(15))--, -1)) OR 20=(SELECT 20 FROM PG_SLEEP(15))--, ApfW3FSI' OR 676=(SELECT 676 FROM PG_SLEEP(15))--, WDMLMYh8') OR 688=(SELECT 688 FROM PG_SLEEP(15))--, PEHyIX2c')) OR 108=(SELECT 108 FROM PG_SLEEP(15))--, 1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99), 1', 1'", 1%2527%2522, @@4k0ka,

No:

Ваш комментарий. Вики-синтаксис разрешён: