的crontab我想包括后台任务在我Capistrano的部署文件,而不是使用下面的命令来手动编辑crontab文件:通过Capistrano的创建而不是使用crontab -e命令
crontab -e [username]
是否有一个脚本我可以在Capistrano运行命令中使用来设置crontab的内容?
的crontab我想包括后台任务在我Capistrano的部署文件,而不是使用下面的命令来手动编辑crontab文件:通过Capistrano的创建而不是使用crontab -e命令
crontab -e [username]
是否有一个脚本我可以在Capistrano运行命令中使用来设置crontab的内容?
在我的Linux机器
crontab -u userName -l > fileName
列表,以便在文件名用户名crontab文件。
然后,我会使用红宝石(或其他语言)脚本来更新文件。
最后我会用
crontab -u userName fileName
更新crontab的用户名
退房的Whenever宝石 - 这可以被拉伸超出你打算做什么,但它使用非常简单(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
太棒了!非常感谢! – 2012-07-09 08:40:04
def crontab_add(line)
config = capture(%Q{crontab -l}).split "\n"
return if config.include? line
run %Q{(crontab -l; echo "#{line}") | crontab -}
end
感谢张贴此解决方案。我想我会试试这个。 – tdewell 2009-10-22 03:35:51