2009-10-21 17 views
6

kullanmanın Capistrano'nun yoluyla crontab oluşturma Ben Capistrano dağıtım dosyalarında cron görevleri şunlardır yerine elle crontab dosyasını düzenlemek için aşağıdaki komutu kullanarak istiyorum Crontab içeriğini ayarlamak için Capistrano çalıştırma komutunda kullanılabilir mi? Benim linux kutusundayerine crontab -e

crontab -u userName -l > fileName 

listeleri dosya adında userName için crontab dosyası üzerinde

cevap

5

.

Dosyayı güncelleştirmek için bir ruby ​​(veya başka bir dil) komut dosyası kullanırdım.

Sonunda userName için Whenever mücevher

+0

Teşekkür kullandığınızı. Sanırım bunu deneyeceğim. – tdewell

15

kontrol crontab dışarı güncellemek için

crontab -u userName fileName 

kullanmak istiyorsunuz - bu yapmanız niyetinde şeyin ötesinde germe olabilir, ama çok basit kullanır (Ruby) sözdizimi ve bir capistrano dağıtım betiği içinde cron işlerini kurmak için bunu basitleştirir.

+0

Teşekkürler. Bu düzgün görünümlü bir mücevher. – tdewell

+0

Bu harika - Birkaç uygulama dağıtımında üretimde kullanıyorum. – bensie

+0

Bu cevabı okuduktan sonra bunu kendi projem için denemeye karar verdim. Harika çalışıyor! Ryan Bates, Whenever'i kullanmak için bir demiryolları bölümünü bir araya getirdi: http://railscasts.com/episodes/164-cron-in-ruby –

0

Neden /etc/cron.d adresine yüklenebilecek bir crontab ekleyelim? Eğer bir değişken kümesine sahip olduğunu

+0

Bu neden azalıyor? – matheeeny

4

verilen: new_user

ve bu çözüm yazabilmek için 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 
+0

harika! çok teşekkürler! –

4
def crontab_add(line) 
    config = capture(%Q{crontab -l}).split "\n" 
    return if config.include? line 
    run %Q{(crontab -l; echo "#{line}") | crontab -} 
end 
İlgili konular