次のコマンドを使用して crontab ファイルを手動で編集する代わりに、Capistrano デプロイメント ファイルに cron タスクを含めたいと考えています。
crontab -e [username]
crontab の内容を設定するために Capistrano run コマンド内で使用できるスクリプトはありますか?
次のコマンドを使用して crontab ファイルを手動で編集する代わりに、Capistrano デプロイメント ファイルに cron タスクを含めたいと考えています。
crontab -e [username]
crontab の内容を設定するために Capistrano run コマンド内で使用できるスクリプトはありますか?
When the Gem をチェックしてください-- これはあなたが意図したことを超えているかもしれませんが、非常に単純な (Ruby) 構文を使用しており、capistrano デプロイメント スクリプト内で cron ジョブをセットアップするのが非常に簡単になります。
私のLinuxボックスで
crontab -u userName -l > fileName
fileName に userName の crontab ファイルをリストします。
次に、ルビー (または別の言語) スクリプトを使用してファイルを更新します。
最後に私は使用します
crontab -u userName fileName
userName の crontab を更新するには
次の変数セットがあるとします。new_user
そして、あなたが使用していること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
/etc/cron.dにインストールできるcrontabを含めてみませんか?