Skip to content

Instantly share code, notes, and snippets.

@groundnuty
groundnuty / redis_barrier.sh
Last active February 19, 2018 13:54
bash redis barrier
# exec 3<>/dev/tcp/j-redis/6379
# printf %b "*2\r\n\$4\r\nINCR\r\n\$25\r\noneclients_ready_count\r\n" >&3
# read -r oneclients_ready_count <&3
# msg_in=$(printf %b "$oneclients_ready_count" | cut -f2 -d$ | tr -d '\r')
# echo "oneclients_ready_count: <${oneclients_ready_count}>"
# exec 3<>/dev/tcp/j-redis/6379
# printf %b "*2\r\n\$3\r\nGET\r\n\$23\r\noneclients_ready_count\r\n" >&3
# read -r oneclients_ready_count <&3
# read -r oneclients_ready_count <&3
@groundnuty
groundnuty / insert_error.sh
Created March 5, 2018 20:27
error reporting sed in place
config_edit() {
config_edit_file="$1"
config_edit_tmp_file=$(mktemp "${TMPDIR:-/tmp/}$(basename $0).XXXXXXXXXXXX")
cp "$config_edit_file" "$config_edit_tmp_file"
errors=""
for var in $config_parameters; do
eval tmp_val="\$config_$var"
eval tmp_label="\$display_$var"
@groundnuty
groundnuty / filter_logs.sh
Created March 12, 2018 11:04
flitering logs
cat *.log* | perl -ne'print unless m{Unable to check space strategies due to\: \{badmatch,\{error\,not_found\}\}}..m{storage_sync_monitoring}' | grep -v -e exometer_report_lager -e 'started ranch_acceptor:start_link' -e 'started couchbase_pool_worker:start_link' -e 'started wpool_process:start_link' | perl -ne'print unless m{wpool_worker\:handle_cast/2 line 76}..m{storage_id => <<"}' | perl -ne'print unless m{Stacktrace:}..m{0~enotdir\}\}}' > ../f
@groundnuty
groundnuty / umountl.sh
Created April 3, 2018 14:21
Umount stale file handles
while read -r mountp ; do if ! timeout 3s ls "$mountp" 1>/dev/null ; then echo "umounting $mountp" ; umount -l $mountp ; fi ; done < <(mount | cut -d ' ' -f 3)
@groundnuty
groundnuty / check_sum.sh
Created May 11, 2018 12:03
Premium Mobile Pdf Invoice Check
cat ~/Downloads/FV-018195-18-05-1-022909-biling.txt | sed -n -e '/Data polczenia/,$p' | sed -n -e '2,$p' | grep -v " 0,00 " | sed 's/[[:space:]]\{15\}/\tX\t/g' | sed -e '/.*(Rozliczenie pakietu:$/{n;d}' | sed 's/[[:space:]][[:space:]]\+/\t/g' | cut -d $'\t' -f 5 | sed -n -e '0,/Lcznie/p' | sed \$d | tr ',' . | paste -s -d+ - | bc
@groundnuty
groundnuty / gantt.md
Created July 30, 2018 21:05
Gantt for k8s pods

Data from pods

Script:

JSONPATH='{range .items[*]};{@.metadata.name}:{@.status.conditions[?(@.type=="PodScheduled")].lastTransitionTime},{@.status.conditions[?(@.type=="Ready")].lastTransitionTime}{end}'; kubectl get pods -o jsonpath="$JSONPATH" | tr ';' '\n'

Example:

gantt
        dateFormat  YYYY-MM-DDTHH:mm:ssZ
@groundnuty
groundnuty / check.md
Created September 7, 2018 10:41
premium mobile analyse

Compare data prices

pdftotext -layout -enc ASCII7 FV-017240-18-09-1-022909-biling.pdf - | sed -n -e '/Data poczenia/,$p' | sed -n -e '2,$p' | grep -v " 0,00 " | sed 's/[[:space:]]\{15\}/\tX\t/g' | sed   -e '/.*(Rozliczenie pakietu:$/{n;d}' | sed 's/[[:space:]][[:space:]]\+/\t/g' | grep "Transmisja danych" | sed 's/\o14//g'  |  cut -d $'\t' -f 4,5 | while read size price ; do msize=$(echo "$size/1024/1024" | bc ) ; mprice=$( echo "$msize*0.02" | bc) ; echo "$size [B], $price [zl] | $msize [MB] $mprice [zl] | rate 0.02/MB [Germany]" ; done  | column -t

Sum up all the costs

pdftotext -layout -enc ASCII7 FV-017240-18-09-1-022909-biling.pdf - | sed -n -e '/Data poczenia/,$p' | sed -n -e '2,$p' | grep -v " 0,00 " | sed 's/[[:space:]]\{15\}/\tX\t/g' | sed   -e '/.*(Rozliczenie pakietu:$/{n;d}' | sed 's/[[:space:]][[:space:]]\+/\t/g' | cut -d $'\t' -f 5 | sed -n -e '0,/Lcznie/p' | sed \$d | tr ',' . | paste -s -d+ - | bc
@groundnuty
groundnuty / curls.md
Created September 21, 2018 10:16
Onedata metadata operations

Get file ids

curl -v -sS --tlsv1.2 -vv -H "X-Auth-Token: MDAxNWxvY2F00aW9uIG9uZXpvbmUKMDAzMGlkZW500aWZpZXIgYTE2ZTcwM2NlZjlmOTEwZjhjNDFlOGQ2NzhkM2Q00NDEKMDAxYWNpZCB00aW1lIDwgMTU2ODEzNDAzOAowMDJmc2lnbmF00dXJlIMOUMjuA6Yypw7AB7uHbprktjA7JeWFARwNW00hoMWb1VCg"  -X GET "https://release18020-rc11-oneprovider-krakow/api/v3/oneprovider/files/krk-3/"

Get rdf by file id

curlv -sS -H "Accept: application/rdf+xml"  --tlsv1.2 -vv -H "X-Auth-Token: MDAxNWxvY2F00aW9uIG9uZXpvbmUKMDAzMGlkZW500aWZpZXIgYTE2ZTcwM2NlZjlmOTEwZjhjNDFlOGQ2NzhkM2Q00NDEKMDAxYWNpZCB00aW1lIDwgMTU2ODEzNDAzOAowMDJmc2lnbmF00dXJlIMOUMjuA6Yypw7AB7uHbprktjA7JeWFARwNW00hoMWb1VCg"  -X GET "https://release18020-rc11-oneprovider-krakow/api/v3/oneprovider/metadata-id/000000000046DD3267756964236432396539376362316335333661303536646165373336646165623865343030236336313535326466333762353463363465353566616161353861343135663133?metadata_type=rdf"
@groundnuty
groundnuty / plcloud_utils.sh
Created October 4, 2018 16:30
plcloud_utils.sh
#!/usr/bin/env bash
export URL='https://cloud.plgrid.pl/api/v1/'
#export PASS=~/.certs/user.pem:userpass
export PASS=~/.ssh/user.pem
plc_api() {
curl --cert $PASS ${URL}"$@" 2>/dev/null
}
# 220 - ubuntu 16