Skip to content

Instantly share code, notes, and snippets.

View kainam00's full-sized avatar

Dmitriy Martynov kainam00

View GitHub Profile
@kainam00
kainam00 / genericinit.bash
Created July 15, 2015 19:10
Simple generic init script
#!/bin/bash
# chkconfig: 2345 90 90
# description: process-sqs
### BEGIN INIT INFO
# Provides: myapplication
# Required-Start: network
# Required-Stop: network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start the program
@kainam00
kainam00 / truncate-tomcat6-logs.rb
Created July 31, 2015 14:50
Truncate tomcat6 logs
#!/usr/bin/ruby
Dir.entries("/var/log/tomcat6").each do |filename|
if filename != "." && filename != ".."
filename = "/var/log/tomcat6/#{filename}"
File.truncate(filename,0)
end
end
@kainam00
kainam00 / secure-s3-bucket.rb
Last active August 29, 2015 14:26
Remove Everyone / public permissions from S3 bucket objects
#!/usr/bin/env ruby
require 'aws-sdk'
require 'yaml'
# Check args
if ARGV[0].nil? || ARGV[1].nil?
puts "Usage: securey-s3-bucket.rb bucket_name path-to-config-file.yml dryrun(optional)"
puts " Where the config file is a YAML formatted file with the following data:"
puts " access_key_id: xxx"
puts " secret_access_key: yyy"
@kainam00
kainam00 / bucket-policy.json
Created August 7, 2015 16:26
S3 bucket policy template
{
"Version": "2008-10-17",
"Id": "Policy1357935677554",
"Statement": [
{
"Sid": "Stmt1357935647218",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123123123123:root"
},
@kainam00
kainam00 / aws-nfs-client.bash
Last active September 2, 2015 18:09
NFS client on Amazon (AWS) linux
#!/bin/bash -x
yum install nfs-utils rpcbind -y
service rpcbind start
service nfslock start
chkconfig rpcbind on
chkconfig nfslock on
@kainam00
kainam00 / prettygenerate.rb
Created September 17, 2015 20:08
ruby pretty JSON generate
require 'json'
JSON.pretty_generate(string)
@kainam00
kainam00 / yazproxy
Created February 29, 2016 18:04
Yaz Proxy / yazproxy init script
#!/bin/bash
# Simple yazproxy init script
# chkconfig: 345 20 80
# description: yazproxy
# processname: yazproxy
# Variables
PORT=9001
LOGDEST=/var/log/yazproxy.log
@kainam00
kainam00 / partx
Created June 10, 2016 18:14
Newer partx. Base64 encoded
IyEgL2Jpbi9zaAoKIyBwYXJ0eCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3IgLmxpYnMvcGFydHgKIyBHZW5lcmF0ZWQgYnkgbGlidG9vbCAoR05VIGxpYnRvb2wpIDIuNC4yCiMKIyBUaGUgcGFydHggcHJvZ3JhbSBjYW5ub3QgYmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCiMgbGlicmFyaWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUgaW5zdGFsbGVkLgojCiMgVGhpcyB3cmFwcGVyIHNjcmlwdCBzaG91bGQgbmV2ZXIgYmUgbW92ZWQgb3V0IG9mIHRoZSBidWlsZCBkaXJlY3RvcnkuCiMgSWYgaXQgaXMsIGl0IHdpbGwgbm90IG9wZXJhdGUgY29ycmVjdGx5LgoKIyBTZWQgc3Vic3RpdHV0aW9uIHRoYXQgaGVscHMgdXMgZG8gcm9idXN0IHF1b3RpbmcuICBJdCBiYWNrc2xhc2hpZmllcwojIG1ldGFjaGFyYWN0ZXJzIHRoYXQgYXJlIHN0aWxsIGFjdGl2ZSB3aXRoaW4gZG91YmxlLXF1b3RlZCBzdHJpbmdzLgpzZWRfcXVvdGVfc3Vic3Q9J3MvXChbYCIkXFxdXCkvXFxcMS9nJwoKIyBCZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcg
@kainam00
kainam00 / jruby-amazon-linux.bash
Created July 31, 2015 15:35
Install jruby on Amazon Linux
#!/bin/bash
# Install prerequisites
yum install -y gcc openssl-devel libyaml-devel libffi-devel readline-devel zlib-devel gdbm-devel ncurses-devel ruby-devel gcc-c++ jq git
# Import key
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
# Install RVM
curl -sSL https://get.rvm.io | bash -s stable --ruby
@kainam00
kainam00 / asg-control.bash
Created August 13, 2015 17:44
Script to suspend and resume AWS autoscaling groups (ASG)
#!/bin/bash
TMPFILE="/tmp/asgs.temp"
function usage()
{
echo "Usage: $0 -a {suspend|resume} -f name-filter -p profile-name"
echo "Where: "
echo " -a - Action - suspend or resume autoscaling."
echo " -f - Name filter - filter for autoscaling groups. Allows you to select autoscaling groups matching a specific string."