GNU/Linux Procmail / Python Mail Alert Script for Telegram

Small script to send a telegram chat message to a user when new mail arives. Script uses procmail and a small python script to process the message and to send the alert alert message through a telegram bot api.

.procmailrc:| env python ./
.procmailrc:.mail/ sys email httplib urllib Contstants... = ['', ''] = "telegram_botkey" = "telegram_userid" = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} = "" = "/bot" + key + "/sendMessage" Read from stdin... = = email.message_from_string(full_msg) Get info from message... = msg['to'] = msg['subject'] = msg['from'] Check if e-mail in list... mailaddr in email_addresses:  if mailaddr in mto:    mrow = "[S6:NewMailAlert] \nFrom: " + mfrom + " \nSubject: " + msubject    params = urllib.urlencode({'chat_id': userid, 'disable_web_page_preview': '1', 'text': mrow})    connectie = httplib.HTTPSConnection(host=hostname, port=443)    connectie.request("POST", uri, params, headers)    resultaat = connectie.getresponse()    if resultaat.status <> 200:      print resultaat.status, resultaat.reason


GNU/Linux Auto-mount NFS Share

Bash script to auto-mount NFS share when it is available (and not already mounted).

ping -c 1 -n > /dev/null
if [ $? -eq 0 ] && [ ! -d /mnt/nas1/directory ]; then
 sudo mount -t nfs /mnt/nas1

GNU/Linux Curl SOAP Request using Mutual SSL

POST a Soap Message using curl using Mutual SSL…

curl -k --cert certchain.pem:password --key server.key \
-d "<soapenv:Envelope xmlns:soapenv=\"\" xmlns:tot=\"\" ><soapenv:Header/><soapenv:Body><tot:getTest><Name>%</Name></tot:getTest></soapenv:Body></soapenv:Envelope>" \
-H 'Content-Type: application/soap+xml' \
-H 'SOAPAction: ""' \ --tlsv1.2 -o result.xml -v

GNU/Linux Docker QuickRef

Simple Dockerfile example for a dockered teiid instance…

# HU Teiid Docker QuickRef:
# ->docker build -t dteiid-example .
# ->docker run --name dteiid-example -p 8081:8080 -p 9991:9990 -v /var/log/docker/dteiid-example/:/opt/jboss/teiid-10.0.0.Final/standalone/log/ --env-file=teiid-test.env --restart unless-stopped -it dteiid-example

FROM teiid/teiid:10.0.0.Final
MAINTAINER Tim van Kooten Niekerk (

# Pass logs to host; Location on host needs chmod 1000:1000 so jboss can write...
RUN mkdir /opt/jboss/teiid-10.0.0.Final/standalone/log/
RUN chown -R jboss:jboss /opt/jboss/teiid-10.0.0.Final/standalone/log/
VOLUME /opt/jboss/teiid-10.0.0.Final/standalone/log/
# Add config files...
ADD customization /opt/jboss/teiid-10.0.0.Final/customization/

# Add Drivers...
ADD ojdbc7- /opt/jboss/teiid-10.0.0.Final/standalone/deployments/
ADD sqljdbc42.jar /opt/jboss/teiid-9.3.4/standalone/deployments/

# Deploy VDB's....
ADD cursuscatalogus-vdb-vdb.xml /opt/jboss/teiid-10.0.0.Final/standalone/deployments/

# Configure Environment and Start server...
CMD ["/opt/jboss/teiid-10.0.0.Final/customization/"]

# You can expose ports...
EXPOSE 8081 8080
EXPOSE 9991 9990

Build a docker…

docker build -t dteiid-example .

Run, Start, Stop commands…

docker run --name dteiid-example -p 8081:8080 -p 9991:9990 --env-file=teiid-test.env --restart unless-stopped -it dteiid-example
docker ps -a
docker rm <containername|id>
docker start|stop <containername|id>
docker attach <containername|id>
docker image[s] [save|load|ls|rm|prune|...] [-[o|i] image.tar.gz]

Connect to a container…

docker exec [-u 0] -it <containername|id> bash

GNU/Linux TCPDump QuickRef

Some tcpdump examples.

tcpdump -vv -i eth0 -w tcpdump.log ‘tcp port 443’
tcpdump -vv -i eth0 -w tcpdump.log dst