add notification and logger script
This commit is contained in:
parent
3c1f6bdd00
commit
7cc818be59
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#Use ./gotifypush <title> <message> <priority> <token> <clickurl>
|
||||||
|
|
||||||
|
#uncomment when use script from cron
|
||||||
|
PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
|
||||||
|
|
||||||
|
# Gotify notification parameters
|
||||||
|
TITLE=$1
|
||||||
|
MESSAGE=$2
|
||||||
|
PRIORITY=$3
|
||||||
|
URL="https://push.example.com/message?token=$4"
|
||||||
|
#if url passed by parameter, set to extras
|
||||||
|
if [ -n "$5" ]
|
||||||
|
then
|
||||||
|
EXTRAS="{\"client::display\": {\"contentType\": \"text/markdown\"}, \"client::notification\": {\"click\": { \"url\": \"$5\"}}}"
|
||||||
|
else
|
||||||
|
EXTRAS="{\"client::display\": {\"contentType\": \"text/markdown\"}}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# better curl usage https://github.com/gotify/server/issues/68
|
||||||
|
#curl --silent --output /dev/null --show-error --fail -X .... #silent curl execution, no output, only html code if error
|
||||||
|
curl -X POST "${URL}" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"message\": \"${MESSAGE}\", \"priority\": ${PRIORITY}, \"title\": \"${TITLE}\", \"extras\": ${EXTRAS} }"
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
|
||||||
|
|
||||||
|
#Use ./logger.sh <logfile>
|
||||||
|
|
||||||
|
# Log parameters
|
||||||
|
REMOTE_SERVER="remote.example.com"
|
||||||
|
REMOTE_PATH="/path/to/remote/store/logs/"
|
||||||
|
PUBLIC_LOG_URL="https://example.com/hostname/"
|
||||||
|
LOG_PRESERVE_DAYS=30
|
||||||
|
|
||||||
|
# create remote folder to store logs if not exist
|
||||||
|
ssh $REMOTE_SERVER "mkdir -p $REMOTE_PATH"
|
||||||
|
|
||||||
|
# Copy local logfile to remote destination
|
||||||
|
scp $1 "$REMOTE_SERVER:$REMOTE_PATH"
|
||||||
|
|
||||||
|
# Clear x days old remote logs
|
||||||
|
ssh $REMOTE_SERVER 'bash -s' << EOF
|
||||||
|
find $REMOTE_PATH -maxdepth 1 -mtime +$LOG_PRESERVE_DAYS -exec "rm" -R {} \;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# return final log url
|
||||||
|
echo $PUBLIC_LOG_URL$1
|
Loading…
Reference in New Issue