« subversion | メイン | echo の改行抑制 »
2005年09月27日
everyday サーバいじり記録
・NTPのコマンドがうごかんなー コマンド自体はあるが
[root@everyday cron.daily]# /usr/sbin/ntpdate clock.nc.fukuoka-u.ac.jp;hwclock -w 2>&1 > /dev/null
/usr/sbin/ntpdate: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory
つーことで上書きしてやれ
apt-get install ntp
Preparing... ########################################### [100%]
1:libcap ########################################### [ 50%]
2:ntp 警告: /etc/ntp.conf created as /etc/ntp.conf.rpmnew
警告: /etc/ntp/drift created as /etc/ntp/drift.rpmnew
警告: /etc/ntp/keys created as /etc/ntp/keys.rpmnew
警告: /etc/ntp/step-tickers created as /etc/ntp/step-tickers.rpmnew
警告: /etc/rc.d/init.d/ntpd saved as /etc/rc.d/init.d/ntpd.rpmorig
警告: /etc/sysconfig/ntpd created as /etc/sysconfig/ntpd.rpmnew
########################################### [100%]
何とか動くようになりました。
・apacheのログがローテとしてない!
/etc/logrotate.d/apache は存在している、が動いてない。
なんで??とおもったら cronが起動されていない!
余計なcrontabがないことを
/var/spoll/cron/以下
/etc/crontab
/etc/cron.*以下見回して確認
/etc/init.d/crond start で起動
あうー なんかエラーメールがドンドコとんでくる
/etc/cron.d/以下にも残骸が! webminのモニターリング用クーロンジョブが登録されてたので消し。
/etc/cron.d/sysstat これもコメントアウト
アパッチのログはdaily にてログローテート
ログローテートするか明日確認
ちなみに/etc/logrotate.d/apache は以下のようになっている
--------------------------------------------------------------------------
/usr/local/apache/logs/*log {
daily
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
/home/backup/dailybackup.sh >/dev/null 2>&1
endscript
}
-------------------------------------------------------------------------------------
解説/usr/local/apache/logs/*logs という名前のファイルをローテートする
daily 毎日やる
missingok なんやったかの覚えてないわ
notifempty なんやったかの覚えてないわ
sharedscripts なんやったかの覚えてないわ
postrotate ~ endscript 間はローテートを行った後に行うスクリプトを記述
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
これは apacheが今までつかんでいたログファイルを一旦手放して新しいログファイルに記入するためにアパッチに信号を送るためのスクリプト
/home/backup/dailybackup.sh >/dev/null 2>&1
これは自前で用意したアパッチのログをBKサーバに転送するためのスクリプト
要はログをローテートしたついでにBKサーバにログを転送するようになっている。
明日BKサーバに転送されているかな??要確認
・さて、次はコンテンツのバックアップを考えるか・・・
1、まずはバックアップサーバ側にNFSでマウント可能になるよう設定
バックアップサーバにログイン 裏回線からプライベートIPでSSHにて侵入
NFSの事よく知らんのだよな・・・・
とりあえずマウント用ディレクトリつくっとくか
cd /var/backup
mkdir everyday
everydayサーバにてマウントさせる場所を作成
mkdir /backup
とりあえずマウントさせてみるか
mount -t nfs バックアップサーバIP:/var/backup/everyday /backup
mount: バックアップサーバIP:/var/backup/everyday failed, reason given by server: 許可がありません
ハイ 許可が出てないらしいです。どこでやるんだっけ
ツー事でバックアップサーバにもどり
ちょっと調べると
最初にNFSサーバの設定を行う。NFSの設定は、/etc/exports でうんたらかんたら
あーこれこれだ
中に以下を追加
/var/backup/everyday everydayサーバプライベートIP(rw,sync,no_root_squash)
これでマウントできるだろ
再びeverydayサーバへ戻る
mount -t nfs バックアップサーバIP:/var/backup/everyday /backup
mount: バックアップサーバIP:/var/backup/everyday failed, reason given by server: 許可がありません
まだ 怒られるよ!
あーNFSを再起動してないからか
またまたバックアップサーバにて
/etc/init.d/nfs restart
コンドこそー
mount -t nfs バックアップサーバIP:/var/backup/everyday /backup
できますた。バックアップサーバの一部マウント完了!
2、まずコンテンツのバックアップとるじょ
メール、その他のバックアップはこの鯖はいらね
バック取るのって /usr/local/apache/htdocs/everyday/以下でええんかな
他の鯖は週一全体バック 日々差分だけど、こいつは量すくないし
毎日全体バックとってやれ
3、データベースのバックアップ
rootのcrontabに登録
01 3 * * * sh /usr/local/bin/backup_full2
以下 /usr/local/bin/backup_full2 の中身
-----------------------------------------------------------------------------------------
mount -t nfs バックアップサーバIP:/var/backup/everyday /backup
#本日日付
time=`date +%y%m%d`
#日付名のディレクトリ作成
mkdir /backup/${time}
chmod 777 /backup/${time}
tar czvf /backup/${time}/mycom.tar.gz /usr/local/apache/htdocs/everyday
#データベースバックアップ
su - postgres -c "/var/pgsql/bin/pg_dumpall > /backup/${time}/db_back.out
/var/pgsql/bin/vacuumdb -a --analyze
#90日前のバックは消す
rmdir_name=`date --date '90 days ago' +%y%m%d`
rm -rf /backup/${rmdir_name}
umount /backup
---------------------------------------------------------------------------------------
以上完成
mount -t nfs 10.0.0.3:/var/backup/iljsv01 /backup
投稿者 muuming : 2005年09月27日 19:02