0

Rails 3アプリを本番環境で使用していますが、本番環境のログは膨大です。これを安全に削除して、Railsが別のものを生成できるようにすることはできますか?Railsアプリを再起動するか、再デプロイする必要がありますか?Production.logに触れる必要がありますか?

これは300mbのサイズで、殺したいです。

4

3 に答える 3

1

いつでもgemをgemファイルに追加します

gem "whenever", "~> 0.7.2", require: false

これを行うためのいつでもタスクを作成します

たとえばwheneverize、Railsアプリでcommandanadを実行すると、configディレクトリにschedule.rbファイルが作成され、次のようにタスクを追加できます

every 1.day, :at => '4:30 am' do
  rake "log:clear"
end

capistrano を使用してデプロイする場合は、これを deploy.rb に追加します。

set :whenever_command, "bundle exec whenever"

これはいつでも自動的に設定されます。

于 2013-02-07T21:33:44.600 に答える
0
/home/deploy/appname/current/log/*.log {
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  copytruncate
}

上記の構成で logrotate を使用すると、うまく機能しています。

于 2013-02-08T22:37:38.837 に答える
0

アプリケーションを恐れることなく、いつでもログを削除できます。理想的には、ログが大きくなりすぎないようにログをローテーションする必要があります。logrotate を使用してこれを行うことができます。ubuntu の場合、次のようになります (この質問から取得):

    /path/to/rails.example.com/tmp/log/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        copytruncate
    }

詳細については、logrotate の man ページを参照してください。ただし、手順は自明です。

于 2013-02-08T19:01:42.550 に答える