diff --git a/gotifypush.sh b/gotifypush.sh
new file mode 100644
index 0000000..888ab22
--- /dev/null
+++ b/gotifypush.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+#Use ./gotifypush
+
+#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} }"
diff --git a/logger.sh b/logger.sh
new file mode 100644
index 0000000..b0a2cc0
--- /dev/null
+++ b/logger.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
+
+#Use ./logger.sh
+
+# 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