39 lines
1.1 KiB
Ruby
39 lines
1.1 KiB
Ruby
# 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
|