2009年10月21日水曜日

[Env] sarのインストール

sarを使用するにはsysstatパッケージをインストールする必要があります。

RedHatへのインストール(cat /etc/issueでバージョン確認)
# yum install sysstat (RHEL 5 以降)

# up2date -u sysstat? (RHEL 4, 3, 2.1 以前)

※パッケージをダウンロードしてインストールされたい場合は、下記 URL の情報をご参照ください。
http://www.sios.com/product/rhel/usersite/faq/faq4-36.html


sysstat パッケージは、インストール後に設定をするべき項目は特にない。

インストールをしますと、/etc/cron.d/sysstat による cron の設定が行われ、cron による自動実行により、情報が /var/log/sa/ 配下に保存される

収集したリソース情報のファイルは、デフォルトで 7日間分保存されます

デフォルトでは 7日間分のファイルが保存されるように設定されています。
この期間の設定は、/usr/lib/sa/sa2 スクリプト内の HISTORY 変数で定義されています。

# grep HISTORY /usr/lib/sa/sa2
HISTORY=7 <-------------------<修正する場合はここを変更します>
find /var/log/sa/ \( -name 'sar  -o -name 'sa  \) -mtime +"$HISTORY"
-exec rm -f {} \;

インストール作業録
cat /etc/issue
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Kernel \r on an \m

yum install sysstat

インストールエラー
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Parsing package install arguments
No package sysstat available.
Nothing to do

ネットワークに繋がっていないから
http://www.sios.com/product/rhel/usersite/faq/faq4-36.htmlからパッケージをダウンロードする

ネットにパッケージがない
rpmfind sysstat
1) rpm -ivh  -- 新規インストール
(2) rpm -Uvh  -- アップデート or 新規インストール
(3) rpm -Fvh   -- アップデートのみ
(4) rpm -e?? <パッケージ名>   -- 削除
パッケージダウンロード
http://pagesperso-orange.fr/sebastien.godard/download.htm

rpm -ivh sysstat-9.0.5-1.i586.rpm
エラー: 依存性の欠如:
libc.so.6(GLIBC_2.7) は sysstat-9.0.5-1.i586 に必要とされています
rpmlib(FileDigests) <= 4.6.0-1 は sysstat-9.0.5-1.i586 に必要とされています block 4096byte * block数 l


以上です。

2009年10月15日木曜日

[Env] Linux Alias設定について

エイリアスは,ログイン時に,bashが起動され,その過程で設定されます。
※ 各ユーザのログインシェルは /etc/passwd に書かれています。

rootにログインすると,以下の順でスクリプトが実行されます。

・/etc/profile を実行

・/etc/profile.d/*.sh を実行

・/root/.bash_profile を実行

・/root/.bashrc を実行

最後の.bashrcに「alias cp='cp -i'」というエイリアスが書かれています。

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

一般ユーザの.bashrcには,このエイリアスは書かれていないことから,

OSの制限として, ルート権限により,無制限にファイルコピー,削除ができないようになっていると思われます。

※一般ユーザにも制限を適用する場合は/etc/profile, /etc/bashrcに記述するか/etc/skelに記述してしまえば良いです。


以上です。

2009読書リスト

8月
・レバレッジ・シンキング 本田直之
・仕事が3倍できる時間管理術
・陽気なギャングの日常と襲撃 伊坂幸太郎
・Gボーイズ冬戦争 石田衣良

9月
・会計天国
・LPIC Level1 試験対策
・業務システムのための上流工程入門
・RailsによるアジャイルWebアプリケーション開発

2009年10月14日水曜日

[OSS] 気になるオープンソースまとめ

いま気になっているオープンソースについてまとめておきます

Plone: アメリカで人気のCMS(他にも山盛りだが。。。)
Plone

Puppet: システム運用、デプロイ系
Puppet
Puppet記事

Maria: 次世代のMySQLストレージエンジン
Maria
記事


以上です。

2009年10月5日月曜日

[MySQL] バックアップと復元

MySQLのバックアップと復元コマンドをまとめました。
データベース名を指定してバックアップする:
mysqldump -u user_name -p -q db_name > backup.sql;

バックアップを復元する:
mysql -u user_name -p db_name < backup.sql;

テーブル名を指定してバックアップする:
mysqldump -u user_name -p -q db_name table_name > backup_table.sql;


以上です。

[MySQL] いろいろな実行手法

ストアドプロシージャを使用することで、SQLをファイル読み込み、実行できます(MySQL5.0~)

#/bin/sh
mysql -u username -p -D データベース < filename.sql(sql記述のみのファイル)



参考URL:
http://www.atmarkit.co.jp/flinux/special/mysql5/mysql5d.html

ヒアドキュメントを使用する方法です。
#!/bin/sh

mysql -u username --password='password' falcon << EOF use falcon; select c_date_ss from falcon.eagle_log; EOF 結果を格納する RESULT=`mysql -u username --password='password' falcon << EOF use falcon; select c_date_ss from falcon.eagle_log; EOF`


Perlのドライバを使った方が扱いやすいかも。ということで書いてみました。

#!/usr/bin/perl
use strict;
use warnings;
use DBI;

my $conn = DBI->connect(
"dbi:mysql:dbname:localhost", "username", "password") or die "Cannot connect\n";

my $cursor = $conn->prepare(
"SELECT column1, coulumn2 FROM table_name WHERE column1=''") or die $conn->errstr;

$cursor->execute or die $conn->errstr;

while (my ($name, $region) = $cursor->fetchrow_array()){
print "$name\t$region\n";
}

$conn->disconnect;

以上です。