Ahoj,
obcas provadim prikazy, ktere trvaji hodne casu. Radove hodiny, nekdy i vice. Poustim je ve screenu.
Rad bych nejak jednoduse dostal oznameni, ze byl prikaz ukoncen a zda uspesne, nebo neuspesne. Hlavne by melo byt jednoduche pouziti.
Protoze prikazu je vice, potrebuju znat i presny string prikazu vcetne parametru.
Co potrebuju:
ps -aux | grep "rsyslogd" ; necoCoPosleNotifikace
Pokud pouziju
!:0 !:*, castecne to funguje:
$ ps -aux | grep "rsyslogd"
syslog 1663 0.0 0.0 255836 1648 ? Ssl čec27 0:00 rsyslogd
martin 6232 0.0 0.0 11880 936 pts/4 S+ 22:54 0:00 grep --color=auto rsyslogd
$ echo "Prikaz: '!:0 !:*' byl ukoncen: $?" # ******************
$ echo "Prikaz: 'ps -aux | grep "rsyslogd"' byl ukoncen: $?"
Prikaz: 'ps -aux | grep rsyslogd' byl ukoncen: 0
$
$ ps -aux | grep "rsyslogd" ; echo "Prikaz: '!:0 !:*' byl ukoncen: $?"
$ ps -aux | grep "rsyslogd" ; echo "Prikaz: 'echo "Prikaz: 'ps -aux | grep "rsyslogd"' byl ukoncen: $?"' byl ukoncen: $?" # ***************
syslog 1663 0.0 0.0 255836 1648 ? Ssl čec27 0:00 rsyslogd
martin 6239 0.0 0.0 11880 936 pts/4 S+ 22:55 0:00 grep --color=auto rsyslogd
Prikaz: 'echo Prikaz: ps -aux | grep "rsyslogd" byl ukoncen: 0' byl ukoncen: 0
$
Kdyz zadam prikaz oznaceny hvezdickami a potvrdim enter, tak misto vypisu dostanu predvyplneny prikaz na radku pod nim a musim znova zmacknout enter.
Pokud si zkusim poslat mail, vubec se prikaz nevyhodnoti:
#!/bin/bash
# /tmp/notify.sh
{
echo "Prikaz: '!:0 !:*' byl ukoncen: $?"
} | mail -s "PRIKAZ DOKONCEN" mujmail@example.net
ps -aux | grep "rsyslogd" ; /tmp/notify.sh
A v mailu je:
Prikaz: '!:0 !:*' byl ukoncen: 0
Alias se mi nedari vubec zadefinovat:
alias notify="echo \"Prikaz: '!:0 !:*' byl ukoncen: $?\" | mail -s 'PRIKAZ DOKONCEN' mujmail@example.net"
ps -aux | grep "rsyslogd" ; notify
Odesilani idealne na mail, nebo pres curl poslat android push notifikaci. To je jedno.
Znate nekdo reseni?