share facebook facebook twitter menu hatena pocket slack

2011.10.17 MON

アクセスログをS3に保存する

スケールアウトしたサーバは、負荷が減少したら基本的にTerminateすることになります。
Terminateする前にapacheのアクセスログは退避しておきたいですが、各サーバからアクセスログをダウンロードするのは、少し面倒になります。

このような場合は、Terminateする前にS3にコピーをすると便利です。

例として、21:00にTerminateすることが決まっている場合、下記のようなスクリプトを20:55などに設定しておきます。
(前提条件としてs3cmdコマンドがインストールされているとします。)

#!/bin/sh

FILE=/var/log/httpd/access_log

DATE=`date +%Y%m%d`
HOST_NAME=`hostname`

cd /var/log/httpd/

cp -pr access_log ${HOST_NAME}_access_log-${DATE}

s3cmd sync ${HOST_NAME}_access_log-${DATE} s3://バケット名

同じバケット内にアクセスログを置くので、アクセスログ名は変更する必要があります。
今回は、ホスト名と日付を利用して、アクセスログ名を変更しています。

こちらの記事はなかの人(be_hase)監修のもと掲載しています。
元記事は、こちら

長谷部 隆之

長谷部 隆之

別名cimacoppi。日々サーバ運用保守を行ってます!

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。