Skip to content

Instantly share code, notes, and snippets.

Siarhei Kavaliou serg-kovalev

Block or report user

Report or block serg-kovalev

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:1ed5ba2cff523eef67bf

Sublime Text 2 – Useful Shortcuts (Ubuntu)


Ctrl+KB toggle side bar
Ctrl+Shift+P command palette
Ctrl+` python console
Ctrl+N new file


serg-kovalev /
Last active Aug 29, 2015
RVM wrapper that loads needed environment in CRON tasks
#!/usr/bin/env bash
# usage
# rvm_env_wrapper /path/to/project some_ruby_file.rb
# rvm_env_wrapper /path/to/project some_comand arg1 arg2 arg3 etc
# OR
# rvm_env_wrapper --use ruby_version@gemset_name some_comand_or_file
# Permissions:
# sudo chown user:group rvm_env_wrapper
# sudo chmod 774 rvm_env_wrapper
serg-kovalev /
Last active Aug 29, 2015
This shell script checks if process exists and removes pid file if not. I use this script with monit to be sure that process exist before killing it
#!/usr/bin/env bash
# the first argument should be a path to pid file
if [[ -f "$1" ]] ; then
if [ $(ps -p $(cat $1) | wc -l) -gt 1 ] ; then
# process exists - do nothing
#echo "OK"
exit 0
#echo "will do rm $1"
rm $1
serg-kovalev /
Created Aug 1, 2014
How to upgrade PostgreSQL server from 8.4 to 9.1 or above
sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get update
# stop apache server if you need
# sudo /etc/init.d/apache2 stop
sudo -i -u postgres
pg_dumpall > dumpall_$(date +"%Y%m%d").pgdump
sudo mv /var/lib/postgresql/dumpall_$(date +"%Y%m%d").pgdump ~/
sudo cp -r /etc/postgresql/8.4 /etc/postgresql/old
sudo apt-get install postgresql-9.1 -y
serg-kovalev / lib_passenger_monitor.rb
Last active Aug 29, 2015
Phusion Passenger Monitor library: it allows you to automatically gracefully kill/reload passenger instances, the end user will not see any errors. See another gist that shows how to use it:
View lib_passenger_monitor.rb
# Finds bloating passengers and try to kill them gracefully.
# @example:
require 'logger'
class PassengerMonitor
# How much memory (MB) single Passenger instance can use
# Log file name
DEFAULT_LOG_FILE = 'passenger_monitoring.log'
serg-kovalev / script_passenger_monitor.rb
Created Aug 1, 2014
Monitor your Phusion passenger instances. This script allows you to automatically gracefully reload passenger instances (if they ate too much memory). See the required library:
View script_passenger_monitor.rb
#!/usr/bin/env ruby
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'passenger_monitor'))
# Set logger to log into Rails project /log directory and start monitoring
:log_file => File.join(File.dirname(__FILE__), '..', 'log', 'passenger_monitor.log'),
:memory_limit => 400, # this is in MB
:wait_time => 10, # this in seconds (timeout before attempts)
:attempts => 5 # number of attempts
serg-kovalev / gist:8487870b128b093721e4
Last active Aug 29, 2015 — forked from mikegrassotti/gist:2247065
FactoryGirl upgrade from version 2.* to 3.*
View gist:8487870b128b093721e4
# FactoryGirl3ForYouAndMe
# The new syntax:
# Where to learn sed?
# What needs to change?
find . -type f -name "*.rb" -print0 | xargs -0 grep "Factory.create"
find . -type f -name "*.rb" -print0 | xargs -0 grep ""
serg-kovalev /
Created Feb 24, 2015
How to easily backup PostreSQL database. This script automatically deletes old backups
CURRDATE=`date +%Y_%m_%d-%H_%M`
BAK_FILE=/path/to/backups/$SERVERNAME-production-sql-$CURRDATE.sql.gz # change the PATH here
DB_NAME="DB_NAME_HERE" # Change this
function quit {
View extract_fixtures.rake
# -*- coding: utf-8 -*-
# DBからデータを取り出してYAMLにする。生成したYAMLはtmp/fixturesに保存される
namespace :db do
namespace :fixtures do
desc "Extract database data to tmp/fixtures directory."
task :extract => :environment do
fixtures_dir = "#{Rails.root}/tmp/fixtures/"
skip_tables = ["schema_info", "schema_migrations", "sessions"]
serg-kovalev / backup_via_email.rb
Last active Aug 29, 2015
Sending database backup in email using core ruby
View backup_via_email.rb
require 'net/smtp'
FROM = 'Some name <>'
TO = %w(
SUBJ = "DB backup #{'%Y-%m-%d')}"
# find the last (in 60 mins) backup
filename = `find /path/to/backups/*.sql.gz -mmin -60`.chomp
exit if filename.nil? || filename.empty?
You can’t perform that action at this time.