2016年5月29日日曜日

tmpwatchは一時ファイル削除以外にも使える!?

tmpwatchコマンドは指定した時間アクセスの無いファイルや
ディレクトリを削除するコマンドです。
/tmp/に生成される一時ファイルを掃除するために利用されています。

このコマンド別に/tmp/だけを対象としているわけではなく、ディレクトリを
指定すれば任意の場所で掃除を実行してくれます。
使い道としてはWebアプリケーションで生成した一時ファイルやユーザごとに
用意したディレクトリを定期的に掃除(削除)するために利用できます。
今まで削除用のプログラムを書いたりしていましたが、このコマンドが
あれば不要ですね。
tmpwatchは指定したディレクトリ以下を再帰的に走査してくれるので
ディレクトリが何階層になっていても対処できますね。

2016年5月22日日曜日

CentOS6 で rbenv を利用して Ruby をインストールする

Serverspecで必要なRubyをCentOS6にインストールします。
CentOS6にはRubyがデフォルトでありますが、バージョンが
1.8系と古いです。現在の安定版は2.3系です。

Serverspecのセットアップ方法を調べてみてもRubyの
インストールについては省略されていることが多く、普段利用しない
言語のインストールとなると慎重になるので調べてみました。

Rubyの複数のバージョンを簡単に管理できるrbenvを利用して
Rubyをインストールしてみます。

rbenvのインストールに必要なパッケージのインストール
sudo yum groupinstall -y development
sudo yum install -y openssl-devel readline-devel zlib-devel
rbenvのインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
~/.rbenv/bin/rbenv init
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
type rbenv
rbenvでRubyをインストールするために必要なプラグインをインストール
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv実行例
# rbenvでインストール可能なRubyのバージョン一覧表示
rbenv install -l
# Ruby 2.3.1をインストール
rbenv install 2.3.1
# Ruby 実行バージョン(全体)を2.3.1に設定
rbenv global 2.3.1