namespace :cron do
desc "Generate cron scripts" task :generate_cron_scripts do on roles(:web) do fetch(:cron_scripts).each do |cron_time, files| files.each do |cron_template| buffer = ERB.new(File.read(cron_template)).result(binding)+"\n" cron_filename = File.basename(cron_template).gsub(/\.sh\.erb$/, '') upload! StringIO.new(buffer), "#{shared_path}/#{cron_time}.#{File.basename(cron_template)}" execute "sudo mv -f #{shared_path}/#{cron_time}.#{File.basename(cron_template)} /etc/cron.#{cron_time}/#{cron_filename} && sudo chown root:root /etc/cron.#{cron_time}/#{cron_filename} && sudo chmod +x /etc/cron.#{cron_time}/#{cron_filename}" end end end end
end