我が家で稼働中の自宅サーバーは3年程前に購入したネットブックです。
最近は落雷による停電やら何やらでハードディスクの寿命が怪しいと感じている日々です。
そこで、「もしも」のためにMySQLのレプリケーションを利用してバックアップを取るようにしてみました。
ついでに、ドメインとかVPSとか取得したのでこのブログも引越ししています。
※内容に間違いがあり「適当な事言ってるなこいつ」などと感じられた場合、コメントにてお知らせいただけますと幸いです。。。
続きを読む
我が家で稼働中の自宅サーバーは3年程前に購入したネットブックです。
最近は落雷による停電やら何やらでハードディスクの寿命が怪しいと感じている日々です。
そこで、「もしも」のためにMySQLのレプリケーションを利用してバックアップを取るようにしてみました。
ついでに、ドメインとかVPSとか取得したのでこのブログも引越ししています。
※内容に間違いがあり「適当な事言ってるなこいつ」などと感じられた場合、コメントにてお知らせいただけますと幸いです。。。
続きを読む
忘れっぽいのでメモ。
頭に中点がないパッケージは依存関係で自動的に選択されたもの。
メモなので時折追記してます。
・httpd
・httpd-devel
・postfix
・dovecot
apr
apr-devel
apr-util
apr-util-devel
apr-util-ldap
cyrus-sasl-devel
db4-cxx
db4-devel
expat-devel
generic-logos
httpd-tools
mysql55-libs
openldap-devel
2012/07/15追加
・git-daemon
git
perl-Git
perl-Error
xinetd
2012/07/31追加
・mysql-server
mysql55
mysql55-common
mysql55-server
perl-DBD-MySQL
perl-DBI
みんな大好きmunin2.0タソ
・perl-CPAN
・perl-FCGI
・mod_fcgid
perl-ExtUtils-MakeMaker
perl-ExtUtils-ParseXS
perl-Test-Harness
perl-devel
・perl-YAML
・make
・perl-Cache-Cache (from EPEL)
perl-IPC-ShareLite
(CPANでperlモジュールをちょろちょろ)
近々自宅で主に使っているデスクトップPCのメモリを増設しようと思い、メモリチェック用に自宅サーバーをPXEサーバーとして使えるようにしてみました。
ついでにDHCPサーバーにもなりました。
今回使用した環境は以下のとおりです。
[Linux]ログを毎日別ファイルに変換して保存するシェルスクリプトだとApacheアクセスログの置換がうまくいっていなかったので修正。
#!/bin/bash PATH=/bin LOGROOT=/var/log #DUMPROOT=/root/log APACHE=$LOGROOT/httpd/ DUMPROOT=$APACHE TEMP=/tmp TODAY=`date +%F` # Apache log cat $APACHE/access_log | sed /^192.168.0/d | sed /^127.0.0.1/d > $TMP/access_log cp $TMP/access_log $DUMPROOT/access_log_$TODAY cat /dev/null > $APACHE/access_log cp $APACHE/error_log $DUMPROOT/error_log_$TODAY cat /dev/null > $APACHE/error_log |
残りの部分は置換とか入れてないので割愛。
使用は自己責任で。ご指摘があればコメントかツイッターへ。
apacheのアクセスログなんかは放っておくと大量のレコードが登録されている。
さすがにそんなログは見たくないので1日分のログを抽出できるようにしてみた。
ついでにいろんなログファイルを処理してみた。
#logrotate?何それおいしいの?(爆
コードはこれ:
#!/bin/bash PATH=/bin LOGROOT=/var/log #DUMPROOT=/root/log APACHE=$LOGROOT/httpd/ DUMPROOT=$APACHE TEMP=/tmp TODAY=`date +%F` # Apache log cat $APACHE/access_log | sed s/^192.168.0.*$n//g | sed s/^127.0.0.1.*$n//g > $TMP/access_log cp $TMP/access_log $DUMPROOT/access_log_$TODAY cat /dev/null > $APACHE/access_log cp $APACHE/error_log $DUMPROOT/error_log_$TODAY cat /dev/null > $APACHE/error_log # others DUMPROOT=$LOGROOT/dump mkdir $DUMPROOT 2>/dev/null LIST="messages cron boot.log mysqld.log secure yum.log" for f in $LIST do cp $LOGROOT/$f $DUMPROOT/${f}_${TODAY} cat /dev/null > $LOGROOT/$f done # cups CUPS=$LOGROOT/cups DUMPROOT=$CUPS LIST="access_log error_log page_log" for f in $LIST do cp $CUPS/$f $DUMPROOT/${f}_${TODAY} cat /dev/null > $CUPS/$f done |
ログファイルを「ファイル名_yyyy-mm-dd」にコピーして、元のファイルを空にするだけ。
パイプでsedに渡しているのはローカルからのアクセスログを排除する為。
必要に応じてログから除外するIPアドレスを指定してやればおk。
※実際に使用する前に必ず動作確認を行ってください。使ったことでログ消失があっても責任は負えませぬ。