Skip to content

Instantly share code, notes, and snippets.

View burdandrei's full-sized avatar
👻

Andrei Burd burdandrei

👻
View GitHub Profile
@burdandrei
burdandrei / bitnami_backup
Created March 10, 2015 14:49
Simple script to back up your bitnami app to s3
#!/bin/bash
#
# Script for backing up bitnami app and upload tarballs to S3
set -e
usage(){
echo "Usage: BITNAMI_APP=<> BITNAMI_DB_PASSWORD=<> S3_BUCKET=<> $0"
exit 1
}
@burdandrei
burdandrei / gemcheck.sh
Created April 15, 2015 11:46
Check that you got all the gems needed to trigger the ruby script
#!/bin/bash -e
#
# Wrapper to check all the needed gems are installed
GL=$(gem list)
for gem in $(cat Gemfile | grep -w gem | cut -f2 -d ' '| tr -d "'"); do
if ! $(echo $GL | grep -wq $gem); then
gem install bundler
bundle install
break
@burdandrei
burdandrei / starprint.sh
Last active August 29, 2015 14:22
Do you love to to read scripts outputs as I do? Print these messages with stars around!
#!/usr/bin/env bash
#
# Just echo everything with Stars Around
starprint(){
local INPUT=$*
local LENGTH=$(echo "$INPUT" | awk '{print length+4}')
line() { for i in $(eval echo "{1..$LENGTH}"); do echo -n '*'; done; echo; }
line
echo -n "* "; echo -n $INPUT;echo -n " *";echo
@burdandrei
burdandrei / random_cowsay.sh
Last active August 29, 2015 14:22
Finish your scripts with Fun success output
#!/usr/bin/env bash
random_cowsay() {
local INPUT=$*
echo $INPUT | cowsay -f $(ls /usr/share/cowsay/cows/ | shuf -n1)
}
@burdandrei
burdandrei / ssh_tunnel.sh
Created June 24, 2015 08:21
Example of forwarding remote port to localhost (Connecting to DB behind the firewall through the SSH Tunnel)
#!/usr/bin/env bash
REMOTE_HOST=ip-10-2-10-197.ec2.internal # Related to PROXY_HOST
REMOTE_PORT=27017
LOCAL_PORT=27017
PROXY_HOST=ec2-55-210-99-165.compute-1.amazonaws.com
ssh -f -L ${LOCAL_PORT}:${REMOTE_HOST}:${REMOTE_PORT} $PROXY_HOST -N
@burdandrei
burdandrei / UnregisterResqueWorkersByHostname.rb
Created November 25, 2015 11:06
Clear stuck/stale Resque workers?
hostname = ''
Resque.workers.each { |w| w.unregister_worker if w.id.start_with?(hostname) }
@burdandrei
burdandrei / travis-cache-docker.yml
Last active December 21, 2015 15:01
Template for travis.yml with docker cache between the builds
sudo: required
dist: trusty
services:
- docker
cache:
- directories:
- /var/tmp/docker
@burdandrei
burdandrei / lambda_scale_ecs_service.js
Created January 20, 2016 10:40
Template for Lambda ECS scale
console.log('Loading event');
var aws = require('aws-sdk');
exports.handler = function(event, context) {
var ecsService = 'sample-webapp';
var ecsCluster = 'sample-cluster';
var ecsRegion = 'us-west-2';
var maxCount = 2;
var ecs = new aws.ECS({region: ecsRegion});
@burdandrei
burdandrei / ECS_Consul_UserData.sh
Last active March 15, 2016 15:41
User data for starting consul on node start
#!/bin/bash
#
# Bring ECS Agent config and start consul
DC=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone/ | rev | cut -c 2- | rev)
ADVERTISE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
ECS_CLUSTER='example'
yum install -y aws-cli
aws s3 cp s3://ops-yotpo/docker/ecs/ecs.config /etc/ecs/ecs.config
@burdandrei
burdandrei / ec2ssh.sh
Last active August 10, 2016 06:52
Connect to aws instances in cluster/single mode with filters from command line
#!/usr/bin/env bash
#
# Wrapper for CSSH running instances by tag
usage(){
cat << EOF >&2
usage: $0 options
This script Gathers instances from AWS and runs ClusterSSH to them