3

各ログファイルをs3に転送しようとしています。そこにあるものをすべてピックアップしtail_catina.logて上書きする自動スクリプトがあります。

tail_catalina.log1、、などの各ログ ファイルを s3 に保存しますtail_catalina.log2tail_catalina.log3

私はすべて欲しいです!!

4

2 に答える 2

6

これを非常に簡単に実現するために、 logrotates3cmd、およびcronの基本的な組み合わせを使用します。

私は自分のブログで詳細な記事と説明をしました。Linux環境でApacheサーバーを実行している人なら誰でも動作するはずです。詳細を打ち出すのに数時間かかったので、皆さんがお役に立てば幸いです。

基本的なスクリプトは以下のとおりです。行ごとの内訳については、ブログ投稿を参照してください。

# rotate the logs!
# common settings
compress
compresscmd /bin/gzip
compressoptions -9
compressext .gz

dateext
dateformat -%Y-%m-%d-%s

rotate 3
nomail
missingok
daily
size 5k
create 640 username username

/var/logs/www.runpartner.com/*.log {
sharedscripts
postrotate
sudo /usr/sbin/apache2ctl graceful

/usr/bin/s3cmd sync /var/logs/www.runpartner.com/*.gz s3://bucket-logs/www.runpartner.com/
endscript
}
于 2012-07-15T17:08:59.627 に答える
1

初期の Beanstalk AMI は、ログを適切にローテーションしていませんでした。デプロイで最新の AMI を使用することで修正できます。EC2 コンソール、AMI に移動します。Amazon イメージ、「elasticbeanstalk」を選択してリストをフィルタリングし、「ソース」で並べ替えて最新の AMI を表示します。

または、Beanstalk サーバー上のファイル /etc/logrotate.conf.elasticbeanstalk を編集して、ログのローテーションを修正することもできます。次の構成では、ファイル名の後にタイムスタンプを追加します。tail_catalina.log-1322236861.gz、tail_catalina.log-1322240461.gz などのログが生成されます。

/var/log/tomcat6/catalina.out /var/log/tomcat6/monitor_catalina.log /var/log/tomcat6/tail_catalina.log {
    size 1M
    missingok
    rotate 2
    compress
    notifempty
    copytruncate
    dateext
    dateformat -%s
    lastaction
        /bin/chown tomcat:elasticbeanstalk /var/log/tomcat6/*gz; /bin/chmod 664 /var/log/tomcat6/*gz
    endscript
}
于 2011-12-06T08:23:12.057 に答える