Skip to content

Instantly share code, notes, and snippets.

@sharshenov
sharshenov / backup_standby.sh
Last active May 20, 2024 08:50
Making PostgreSQL backup from standby server
# 1. Pause replication
sudo -u postgres psql -c 'SELECT pg_xlog_replay_pause();'
# 2. Perform backup
sudo -u postgres pg_dump -Fc DBNAME > /path/to/backup
#3. Resume replication
@sharshenov
sharshenov / clear_logs.sh
Last active August 31, 2016 09:12
Cleanup log files
#!/bin/bash
cd ~/ror
# remove temporary uploads
find ./ -path "*/uploads/tmp/*" -delete
# null logfiles
for logfile in `find ./ -type f -name "*.log"`
do
@sharshenov
sharshenov / .env.production
Created August 20, 2015 06:00
capistrano + foreman deploy for RubyOnRails
SECRET_KEY_BASE=ahsbdjhasbjhdabks # run rake:secret to generate
DATABASE_URL=postgres://user:pass@dbhost/database
@sharshenov
sharshenov / 404.html
Created August 20, 2015 09:49
Page not found for RoR
<h1>Page not found</h1>
@sharshenov
sharshenov / gist:33c0dd55c838ecd5762c
Created November 16, 2015 11:16
Rails middleware for health check endpoint
class HealthCheckResponder
def initialize(app, options = {})
@app = app
end
def call(env)
if env["REQUEST_PATH"] == "/health_check"
return [200, {}, [""]]
else
@sharshenov
sharshenov / gist:793e6dee2c5bee9d82d6
Last active December 5, 2016 16:47
Конфигурация elasticsearch для нужд небольших проектов(никакого HighAvailability & Load Balancing)
# Добавляем репозиторий для oracle java
add-apt-repository ppa:webupd8team/java
# Добавляем репозиторий для elasticsearch
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
# Обновить систему
apt-get update && apt-get dist-upgrade -y && apt-get autoremove -y && apt-get clean
@sharshenov
sharshenov / throttler.rb
Created April 19, 2016 18:08
Basic throttler
class Throttler
class << self
def limit *attrs
throttler.limit *attrs
end
private
@sharshenov
sharshenov / gist:edaca25b3b9094359c95f4ae66cd4222
Created July 22, 2016 16:55
Using wkhtmltopdf without X server
apt-get install wkhtmltopdf
apt-get install xvfb
echo -e '#!/bin/bash\nxvfb-run -a --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltopdf -q $*' > /usr/bin/wkhtmltopdf.sh
chmod a+x /usr/bin/wkhtmltopdf.sh
ln -s /usr/bin/wkhtmltopdf.sh /usr/local/bin/wkhtmltopdf
wkhtmltopdf http://www.google.com output.pdf
@sharshenov
sharshenov / gist:c09ed8955692ca98d371eeb42a1b6d45
Created August 28, 2016 07:36
exchange gem NBKR external API
module Exchange
module ExternalAPI
class Nbkr < XML
API_URL = "http://nbkr.kg/XML/daily.xml"
CURRENCIES = %W(kgs usd eur kzt rub).map(&:to_sym)
def update opts={}
@sharshenov
sharshenov / .kitchen.yml
Created November 11, 2016 04:11
kitchen configuration with cached chef-client
---
driver:
name: vagrant
synced_folders: [
["~/.chef/pkgs", "/tmp/chef-pkgs"]
]
provisioner:
name: chef_zero
chef_omnibus_url: file:///tmp/chef-pkgs/install.sh