Frage

Ich habe versucht, zu erhalten, wann immer auf einer EC2-Instanz läuft, die mit EC2 auf Schienen erstellt wurde.

Wenn ich mit Capistrano bereitstellen bedeutet dies, dass der crontab geschrieben wurde, aber wenn ich lüge in den Server und läuft crontab -l es scheint nicht geändert worden zu sein.

Wenn ich in die Freigabeordner gehen und manuell ausgeführt, wenn --write-crontab dann crontab -l laufen - es wird richtig aktualisiert.

Alle Ideen, was dieses verursachen könnte?

Capistrano anzeigt, keine Fehler so nicht sicher, wie zu debuggen, haben versucht, eine Milliarde Permutationen und Kombinationen und nichts ändert sich.

War es hilfreich?

Lösung 2

namespace :deploy do
  desc "write the crontab file"
  task :write_crontab, :roles => [:db_admin] do  
    run "cd #{release_path} && sudo -u root  whenever --write-crontab #{application}"
  end  
end

Oder gibt es offenbar auch eine Option --user in wann immer das dabei helfen kann.

Andere Tipps

sollten Sie in der Lage sein, nur in Ihrer Kappe deploy-Datei mit dem, wenn Capistrano Befehl benötigt etwa so:

require 'wenn / Capistrano'

Wenn Sie bundler verwenden, werden Sie diese hinzufügen müssen auch:

Set: whenever_command, 'Bündel exec, wenn'

Dies ist nicht auf OP verwendet, aber nach dieser Ausgabe , Capistrano 2.11. 1 Bedürfnisse Jedes Mal, wenn 0.7.3, um das Problem zu beheben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top