crontab -eを使用する代わりにCapistranoを介してcrontabを作成する
-
05-07-2019 - |
質問
次のコマンドを使用してcrontabファイルを手動で編集する代わりに、Capistranoデプロイメントファイルにcronタスクを含めたい:
crontab -e [username]
Capistrano runコマンド内で使用してcrontabの内容を設定できるスクリプトはありますか?
解決
Linuxボックス上
crontab -u userName -l > fileName
fileNameのuserNameのcrontabファイルをリストします。
次に、ルビー(または別の言語)スクリプトを使用してファイルを更新します。
最後に使用します
crontab -u userName fileName
userNameのcrontabを更新するには
他のヒント
いつでも gemをチェックしてください。ただし、非常に単純な(Ruby)構文を使用し、capistranoデプロイメントスクリプト内でcronジョブをセットアップするのは非常に簡単です。
次の変数セットがある場合: 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を含めないのはなぜですか?
所属していません StackOverflow