Commit dc71396a authored by Tray Torrance's avatar Tray Torrance

Adds maintenance rake tasks for logrotate and temp file deletion; Adds...

Adds maintenance rake tasks for logrotate and temp file deletion; Adds whenever gem + sample whenever file
parent 139e2af6
......@@ -4,6 +4,7 @@ gem 'rails', '3.0.11'
gem 'bundler', '>= 1.0.0'
gem 'foreman'
gem 'whenever'
gem 'thin', '~> 1.3.1', :require => false
......
# Use this file to easily define all of your cron jobs.
#
# It's helpful, but not entirely necessary to understand cron before proceeding.
# http://en.wikipedia.org/wiki/Cron
# set :environment, "production"
# Example:
set :output, File.join( File.dirname( __FILE__ ), '..', 'logs', 'scheduled_tasks.log' )
every 1.day, :at => '3:00 am' do
rake 'maintenance:clear_carrierwave_temp_uploads'
end
# every 2.hours do
# command "/usr/bin/some_great_command"
# runner "MyModel.some_method"
# rake "some:great:rake:task"
# end
#
# every 4.days do
# runner "AnotherModel.prune_old_records"
# end
# Learn more: http://github.com/javan/whenever
# Copyright (c) 2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
namespace :maintenance do
APP_ROOT = File.expand_path( File.join( File.dirname( __FILE__ ), '..', '..') )
desc "Clear CarrierWave temp uploads"
task :clear_carrierwave_temp_uploads do
filename = File.join( APP_ROOT, 'tmp', 'uploads', '*')
today_string = Time.now.strftime( '%Y%m%d' )
Dir.glob( filename ) do |file|
unless file.include?( today_string )
FileUtils.rm_rf( file )
end
end
end
desc "Rotate Diaspora logs"
task :install_logrotate_config do
logrotate_conf = <<-RUBY
#{APP_ROOT}/logs/production.log {
daily
missingok
rotate 8
compress
delaycompress
notifempty
copytruncate
}
RUBY
begin
File.open('/etc/logrotate.d/diaspora') do |fin|
fin.write logrotate_conf
end
rescue
puts "Could not install logrotate configs. Perhaps you should try running this task as root and ensuring logrotate is installed:\n#{logrotate_conf}"
end
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment