Skip to content

Instantly share code, notes, and snippets.

View miceno's full-sized avatar

Orestes Sanchez miceno

  • Barcelona, Spain
View GitHub Profile
@miceno
miceno / .gitignore
Last active March 22, 2019 20:16
Postgresql scripts
.idea
@miceno
miceno / showsize.sh
Created January 8, 2019 17:54
Show how a file size changes overtime
while true;
do
ls -s $FILE;
sleep 1;
done | awk 'BEGIN{ previous=0;}{ current=$1; if(previous==0) previous=current; d=current-previous; previous=current; print d;}'
@miceno
miceno / email-confirm.js
Created August 18, 2018 11:43
Email confirmation for Wordpress Contact Form 7 plugin
//
// Put this file inside your theme in folder js (js/email-confirm.js)
//
// First we add a hook to the form submit event
jQuery( document ).ready( function () {
jQuery('.wpcf7-submit').click(function () {
// We remove the error to avoid duplicate errors
jQuery('.error').remove();
// We create a variable to store our error message
var errorMsg = jQuery('<span class="error">Your emails do not match.</span>');
@miceno
miceno / update_json.sql
Created February 12, 2018 23:34
Massively update in place json in PostgreSQL
UPDATE sns_log_testing AS u
SET message = jsonb_set(t.message, '{type}', JSONB '"DEVICE_EVENT"')
FROM (SELECT *
FROM sns_log_testing AS s
WHERE s.message ->> 'type' = 'CLIENT_EVENT'
AND s.message ->> 'event_type' = 'NOTIF_REQUEST'
LIMIT 10000) AS t
WHERE t.id = u.id
@miceno
miceno / export-import-csv.sql
Created February 2, 2018 16:27
Export and import CSV in postgres
-- On the server.
-- \copy is run on the client side, so if you run in your local machine to connect to the remote
-- server, you will transfer the results probably in plain. So better run it on local.
\copy (Select * From sns_log where received > '2018-01-01') To '/tmp/log-20180101.csv' With CSV delimiter ','
-- On the client side.
\COPY sns_log FROM 'log-20180101.csv' WITH delimiter as ',' csv
@miceno
miceno / sniff-header.sh
Created January 5, 2018 17:24
Sniff HTTP headers directly with tcpdump
#!/usr/bin/env bash
INTERFACE=eno16777984
PORT=80
tcpdump -i $INTERFACE -A -s 10240 'tcp port '$PORT' and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
| egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " \
| sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'
@miceno
miceno / remove-indexes.sh
Created January 4, 2018 17:21
Bulk remove elasticsearch indexes
#!/usr/bin/env bash
SERVER="http://elasticsearch.server.example.com:9200"
curl "$SERVER/_cat/indices?v" | awk '{ print $3}' | sort > /tmp/indexes.txt
while read -u 3 f;
do
echo $f
COMMAND="curl -XDELETE $SERVER/$f"
@miceno
miceno / count-index.sh
Last active December 28, 2017 01:00
Number of documents of an elasticsearch index
# elasticsearch url
URL=https://smartnotifications-9383428543.eu-central-1.bonsaisearch.net
curl -s $URL/logstash-nginx-*/_count | sed -e 's/^.*"count":\([^,]*\),.*$/\1/'
@miceno
miceno / json-text.sh
Created December 27, 2017 12:33
Extract json text value
echo '{"count":"7363","_shards":{"total":1,"successful":1,"failed":0}}' | sed -e 's/^.*"count":"\([^"]*\)".*$/\1/'
@miceno
miceno / json-number.sh
Created December 27, 2017 12:30
Extract number value from json
echo '{"count":7363,"_shards":{"total":1,"successful":1,"failed":0}}' | sed -e 's/^.*"count":\([^,]*\),.*$/\1/'