我在生產中有一個Rails 3應用程序,生產日誌非常龐大。我可以安全地刪除它並允許Rails生成另一個?我必須重新啓動Rails應用程序還是重新部署?我需要觸摸production.log嗎?生產中的大日誌文件
這件事是300MB的大小,我想殺了它。
我在生產中有一個Rails 3應用程序,生產日誌非常龐大。我可以安全地刪除它並允許Rails生成另一個?我必須重新啓動Rails應用程序還是重新部署?我需要觸摸production.log嗎?生產中的大日誌文件
這件事是300MB的大小,我想殺了它。
/home/deploy/appname/current/log/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
與上面的配置使用logrotate,它的工作很好。
的寶石時添加到您的寶石文件
gem "whenever", "~> 0.7.2", require: false
,並創建一個每當任務來完成
例如在你的軌道上運行wheneverize
commanad應用 它會爲你創建一個schedule.rb文件在你的配置目錄, ,你可以在任務像
every 1.day, :at => '4:30 am' do
rake "log:clear"
end
添加到它,如果你是全光照g capistrano將其部署,將其添加到您的deploy.rb中
set :whenever_command, "bundle exec whenever"
這將自動設置爲您隨時設置。
您可以隨時刪除日誌而無需擔心應用程序。 理想情況下,您應該旋轉這些日誌以防止它們變得如此之大。你可以使用logrotate來做到這一點。 Ubuntu的,它會是這樣的(從this question拍攝):
/path/to/rails.example.com/tmp/log/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
copytruncate
}
Here是獲取更多信息logrotate的手冊頁,雖然說明是有點不言自明的。