目前我需要根据安装clamac的配方的主机名安装交错的crons。我有一个很好的例子,但是我的最终产品需要处理几百个不同的主机名,主要是升序号码。服务器示例:myserver-db [1-12],anotherserver-acc [1-9]。
cron 'clam-scan-weekly Staggered 1' do
only_if {node.name == 'myserver-db1' || 'myserver-db3' }
minute 30
hour 22
weekday 1
command '/usr/bin/clamscan --exclude-dir="/dev/|/proc/|/run/|/sys/" -l clamscan.log -r /'
user 'root'
end
cron 'clam-scan-weekly Staggered 2' do
only_if {node.name == 'myserver-db2' || 'myserver-db4' }
minute 30
hour 22
weekday 1
command '/usr/bin/clamscan --exclude-dir="/dev/|/proc/|/run/|/sys/" -l clamscan.log -r /'
user 'root'
end
最终目标是根据主机名创建四个交错的cron作业中的三个。我查看了ruby_blocks,它可能是可行的但是必须有一个更简单的方法。我希望通用游戏可以工作,但它没有......谢谢你的任何帮助!
答案 0 :(得分:0)
所以潜在的问题是x == 'a' || 'b'
就是你所写的,但x == 'a' || x == 'b'
就是你的意思,那些是非常不同的。
要解决这个问题,不要使用大量的复制粘贴:
cron 'whatever' do
# Other properties here.
minute node.name.hash % 60
end