スケールアウトしたサーバは、負荷が減少したら基本的に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://バケット名
同じバケット内にアクセスログを置くので、アクセスログ名は変更する必要があります。
今回は、ホスト名と日付を利用して、アクセスログ名を変更しています。