Domanda

Vorrei includere le attività cron nei miei file di distribuzione Capistrano invece di utilizzare il seguente comando per modificare manualmente il file crontab:

crontab -e [username]

Esiste uno script che potrei usare nel comando run di Capistrano per impostare il contenuto del crontab?

È stato utile?

Soluzione

Sulla mia scatola di Linux

crontab -u userName -l > fileName

elenca il file crontab per userName in fileName.

Quindi userei uno script ruby ??(o un'altra lingua) per aggiornare il file.

Infine vorrei usare

crontab -u userName fileName

per aggiornare il crontab per userName

Altri suggerimenti

Dai un'occhiata alla Ogni volta che la gemma - questo potrebbe andare oltre ciò che intendi fare, ma utilizza una sintassi (Ruby) molto semplice e semplifica notevolmente l'impostazione dei lavori cron all'interno di uno script di distribuzione capistrano.

dato che hai un set di variabili che è: new_user

e che stai utilizzando use_sudo true

desc "install crontab"
task :install_crontab do
  run "echo '0 23 * * * /home/#{new_user}/scripts/backup_#{new_user}.sh' | #{sudo} crontab -u #{new_user} -"
end
def crontab_add(line)
  config = capture(%Q{crontab -l}).split "\n"
  return if config.include? line
  run %Q{(crontab -l; echo "#{line}") | crontab -}
end

Perché non includere un crontab che può essere installato su /etc/cron.d?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top