Skip to content

Instantly share code, notes, and snippets.

Avatar

Vadiraj K.S vadirajks

View GitHub Profile
@vadirajks
vadirajks / find or delete corrupt whisper-files
Created Jul 16, 2022
find or delete corrupt whisper-files
View find or delete corrupt whisper-files
#!/bin/bash
which whisper-info >/dev/null || {
echo >&2 "'whisper-info' not found: please install"
exit 1
}
options=('find' 'delete')
PS3='state your wish: '
echo -e "\nfind/delete corrupt whisper-files"
@vadirajks
vadirajks / deleting old whisper files
Created Jul 16, 2022
deleting old whisper files
View deleting old whisper files
#!/bin/bash
delete_hours=3
delete_sec=$(( ($delete_hours*60)*60))
gcp_output_file=/tmp/app-gcp-list.txt
gcloud compute instances list --format="csv(name:sort=0,networkInterfaces.networkIP,zone:sort=1)" --filter="status=RUNNING AND labels.appname:app" |sed 's/\./_/g'>$gcp_output_file
[ ! $? -eq 0 ] && { echo >&2 "$gcp_output_file gcp command issue"; exit 1; }
[[ $(wc -l $gcp_output_file| awk '{print $1}') -lt 25 ]] && { echo >&2 "$gcp_output_file gcp command issue"; exit 1; }
for folder_list in /var/lib/carbon/whisper/asia-southeast1/app/autoscaling/vm /var/lib/carbon/whisper/asia-southeast1/app/static/vm ; do
[ $(echo $folder_list| awk -F/ '{print $(NF-1)}') == "static" ] && vm_type=static || vm_type=auto
for folder in $(ls $folder_list -1); do
View gcp un used disk
#!/bin/bash
export project="
a
b
c
"
for p in $project; do
for disk in $(gcloud compute disks list --filter="-users:*" --format "csv(name,LOCATION)" --project "$p"); do
echo "deleting: ${disk}"
gcloud compute disks delete --zone=${disk##*,} --quiet ${disk%%,*} --project "$p"
View bigquery workaround
#!/bin/bash
project_name="abc-project"
echo -e "project_id,dataset_id,table_id,row_count,size_mb,size_gb,type,partiton,partition_expiration_days,cluster_key" > /tmp/bq_out.csv
for dataset in $(bq ls|tail -n +3); do
bq query --format=csv --use_legacy_sql=false '
SELECT
t1.project_id as project_id,
t1.dataset_id as dataset_id ,
t1.table_id as table_id,
t1.row_count as row_count,
View aerospike_space_alert.sh
#!/bin/bash
SlackChannelName=abc
SlackHookURL="abc"
MessageBody=
MessageTitle="CRITICAL:/aerospike_space_alert.sh [$(hostname)/$(hostname -i)]"
AerospikeIP=192.168.0.1:3000
OLDIFS=$IFS; IFS=$'\n'
#HWMDisk=60
#HWMMem=75
HWMDisk=55
@vadirajks
vadirajks / 0-rsync.log
Created May 28, 2022 — forked from odyssey4me/0-rsync.log
Working with rsync and chown, with rsync and with Ansible's synchronize module. Playbook 1 only works for Ansible<2.3 and Playbook 2 works for Ansible 2.3+. The subtle difference was discovered in https://github.com/ansible/ansible/issues/23575 - for Ansible 2.3+ DO NOT QUOTE the rsync_opts.
View 0-rsync.log
root@foo:~# rm -rf test; mkdir test; touch test/test{1,2,3}; chown ubuntu test/test1; chown aptly test/test2; ls -al test/
total 8
drwxr-xr-x 2 root root 4096 Nov 30 10:47 .
drwx------ 11 root root 4096 Nov 30 10:47 ..
-rw-r--r-- 1 ubuntu root 0 Nov 30 10:47 test1
-rw-r--r-- 1 aptly root 0 Nov 30 10:47 test2
-rw-r--r-- 1 root root 0 Nov 30 10:47 test3
root@foo:~# rsync -avz --chown 'nginx:www-data' -e "ssh -i ~/.ssh/my.key" --verbose test root@bar:/tmp/
opening connection using: ssh -i "~/.ssh/my.key" -l root bar rsync --server -vvlogDtprze.iLsfx "--usermap=*:nginx" "--groupmap=*:www-data" . /tmp/ (13 args)
@vadirajks
vadirajks / http to https redirect
Last active May 19, 2022
http to https redirect
View http to https redirect
server {
# all traffic, secure or otherwise, comes in on 80 from the ELB
listen 80;
# ELB stores the protocol used between the client and the load balancer in the X-Forwarded-Proto request header. Check for 'https' and redirect if not
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
server_name your-secure-site.com www.your-secure-site.com;
@vadirajks
vadirajks / reindex1.sh
Last active May 18, 2022
reindex elasticsearch indices
View reindex1.sh
#!/bin/bash
if [ "$1" == "" ] || [ "$2" == "" ]; then
echo "Usage: ./reindex.sh [REMOTE_HOST:REMOTE_PORT] [INDEX_PATTERN] [LOCAL_HOST:LOCAL_PORT]"
exit 1
fi
REMOTE_HOST=$1
PATTERN=$2
if [ "$3" == "" ]; then
View whois workaround
1>
cat /custom-scripts/domain_expire.sh
#!/bin/bash
target=$1
expdate=$(whois $1 | grep -m1 -oPi '(expir.*date|expir.*on).*\s\K\d.+'.)
expdate=$(date -d"$expdate" +%s)
curdate=$(date +%s)
echo $(((expdate-curdate)/86400))
View IP lookup
1>
yum install https://github.com/maxmind/mmdbinspect/releases/download/v0.1.1/mmdbinspect_0.1.1_linux_amd64.rpm -y
yum install yum install https://github.com/maxmind/geoipupdate/releases/download/v4.9.0/geoipupdate_4.9.0_linux_amd64.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/GeoIP-1.5.0-14.el7.x86_64.rpm
#!/bin/bash
in_file=/tmp/bquxjob_56e85de3_180cc776473.csv
out_file=${in_file%%.*}-output.csv
mv -f ${out_file} ${out_file%%.*}-$(date +%s) 2>/dev/null
echo '"user_id","ip_address","country","city"' >> ${out_file}
for i in $(cat ${in_file}| grep -v user_id); do
details=$(mmdbinspect -db /usr/share/GeoIP/GeoLite2-City.mmdb ${i##*,} | jq "[.[0].Lookup,.[0].Records[0].Record.country.names.en,.[0].Records[0].Record.subdivisions[].names.en]|@csv")