Skip to content

Instantly share code, notes, and snippets.

@nikushi
nikushi / sysreq.sh
Created May 8, 2013 03:44
rebootコマンド受け付けてくれないときにsysrqでマシンを再起動させる
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
@nikushi
nikushi / run.sh
Last active December 17, 2015 03:49
rvm環境のthinサーバをdaemontoolsで動かすためのrunスクリプト。thin startの行を変更すればthinに限らないです。softlimitは必要であれば。
#!/bin/sh
exec 2>&1
exec \
sh -c '
export HOME=/home/app/
export LANG=ja_JP.utf8
# @reference https://rvm.io/integration/cron/
source ~/.rvm/environments/ruby-2.0.0-p0@MyApp
cd ~/MyApp
exec \
@nikushi
nikushi / apache_and_openssl.sh
Last active December 17, 2015 13:29
ApacheとOpenSSLをコンパイルする。 都合DSOは使わないことにした。 mod_sslはhttpd実行時にlibssl.soを呼ぶが、LIB_LIBRARY_PATHを設定せずhttpdを起動するとシステムワイドな/usr/lib64/libssl.soが呼ばれて意図しないOpenSSLバージョンで起動してしまう問題に悩まされたときのメモ。
# @reference http://d.hatena.ne.jp/hiroppon/20081122/1228069519
# openssl
# sharedオプションでlibssl.soを作る
./Configure shared --prefix=/usr/local/openssl-x.x.x
make
make install
# chdir 略
@nikushi
nikushi / rails.sh
Created May 27, 2013 14:48
Rails 4系をgemでインストール
gemは3系バージョンなのでバージョンを指定する。
$ gem gemset create test
$ gem gemset use test
$ gem install rails --version 4.0.0.rc1 --no-ri --no-rdoc
@nikushi
nikushi / Vagrantfile
Created May 29, 2013 00:51
tcp or udp portforward by using Vagrant
#tcp
config.vm.network :forwarded_port, guest: 80, host:8080
#udp
config.vm.network :forwarded_port, guest: 161, host:10161, protocol:'udp'
@nikushi
nikushi / crontab
Last active December 17, 2015 21:39
netstatとpsをcrontabで毎分ロギング + 超手抜きlogrotate
# 過去1週間分のコマンド出力を保存
0 0 * * * cat /dev/null > /var/log/netstat.out.`date +\%w`
* * * * * ( LANG=C date; netstat -antop; echo ) >> /var/log/netstat.out.`date +\%w`
0 0 * * * cat /dev/null > /var/log/ps.out.`date +\%w`
* * * * * ( LANG=C date; ps axufw; echo ) >> /var/log/ps.out.`date +\%w`
@nikushi
nikushi / ab4gf-multi-url.rb
Last active December 18, 2015 01:29
GrowthForecastにランダムURLにグラフPOST
#!/usr/bin/env ruby
require 'growthforecast-client'
require 'parallel'
$requests = 20000 # number of requests to perform
$concurrency = 128 # number of multiple requests to make
puts "requests = #{$requests}"
puts "concurrency = #{$concurrency}"
@nikushi
nikushi / gf.log
Created June 5, 2013 02:00
GrowthForecastに同時に複数の新規グラフのgraph postするとdead lockで稀に失敗する
10:56:29 3.1 | Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle growthforecast;hostname=localhost at /home/growthforecast/.perlbrew/libs/perl-5.19.0@GrowthForecast/lib/perl5/Scope/Container.pm line 38.
10:56:29 3.1 | Error:DBD::mysql::st execute failed: Deadlock found when trying to get lock; try restarting transaction [for Statement "INSERT /* /home/growthforecast/GrowthForecast/lib/GrowthForecast/Data.pm line 271 */ INTO graphs (service_name, section_name, graph_name, number, mode, color, llimit, sllimit, created_at, updated_at)
10:56:29 3.1 | VALUES (?,?,?,?,?,?,?,?,?,?)" with ParamValues: 0="0", 1="0", 2="0", 3="9850", 4='gauge', 5='#66cc99', 6=-1000000000, 7=-100000, 8=1370397389, 9=1370397389] at /home/growthforecast/.perlbrew/libs/perl-5.19.0@GrowthForecast/lib/perl5/DBIx/Sunny.pm line 150.
10:56:29 3.1 | 0/0/0 => 9850,gauge, at /home/growthforecast/GrowthForecast/lib/GrowthForecast/Web.pm line 815.
10:56:29 3
@nikushi
nikushi / gist:5721549
Created June 6, 2013 13:40
ymlに定数を書いて読めるgem
https://github.com/binarylogic/settingslogic
@nikushi
nikushi / gist:5848417
Created June 24, 2013 07:52
rbenv環境でcrontabでスクリプトを実行。いろいろ微妙な気がしている。
* * * * * /bin/bash -lc "cd $HOME/app && RUBY_ENV=production ./scripts/batch.rb > /dev/null"