Varsayılan olarak, Kukla istemcileri her 30 dakikada bir güncelleme ister. Bu aralığı değiştirmek istiyorum. Bunu yapmanın en uygun yolu nedir?
Varsayılan olarak, Kukla istemcileri her 30 dakikada bir güncelleme ister. Bu aralığı değiştirmek istiyorum. Bunu yapmanın en uygun yolu nedir?
Yanıtlar:
İstemcilerde, /etc/puppet/puppet.conf dosyasını düzenleyin ve dosyanın [ana] bölümünde aşağıdakileri ayarlayın (henüz yoksa yeni bir satır ekleyin):
runinterval=xxx
Burada xxx saniye cinsinden istediğiniz yoklama aralığıdır.
Kukla aracısının kataloğu ne sıklıkta uyguladığı. 0'ın bir runinterval değerinin, "asla çalıştırmamak" yerine "sürekli olarak çalıştır" anlamına geldiğini unutmayın. Kukla aracısının asla çalışmamasını istiyorsanız, --no-client seçeneğiyle başlatmalısınız. Bu ayar saniye (30 veya 30s), dakika (30m), saat (6h), gün (2d) veya yıl (5y) cinsinden bir zaman aralığı olabilir.
Default: 30m
Runinterval kullanmaktan kaçınmak isterseniz, bir cron kurmak iyi sonuç verebilir. Bu, kukla yöneticinize aynı anda vurmak istemediğiniz birçok sunucunuz varsa özellikle yararlı olabilir. Kukla yöneticisini dosyayı dışarı aktarmak ve cron'u güncellemek için kullandım, istemci tarafından yapılacak bir şey yok (açıkçası).
İşte ne kullanıyorum (saat başı çalıştırıyorum ama sadece cron.d referans olabilir, ben bu komut dosyası oluşturmadı ve ne yazık ki kime kredi bilmiyorum ):
#!/bin/bash
#/etc/cron.hourly/puppetRun.sh
# This file managed by Puppet.
# Leave this script in cron. To disable Puppet, run 'puppetd --disable'
# to temporarily suspend the running of Puppet for testing purposes.
PROG=`basename $0 .sh`
exec > /usr/local/logs/${PROG}.last.trace 2>&1
set -x
if [ -e "/var/run/puppet/puppetd.pid" ]; then
echo "Puppet is already running or has been disabled. Remove the lock file /var/run/puppet/puppetd.pid or run
'puppetd --enable'."
exit
fi
# Randomly sleep so all Puppet clients don't hit the Puppet Master at once.
WAIT=$((RANDOM % 60 * 60))
echo "Sleeping $WAIT seconds..."
/bin/sleep $WAIT
/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog > /dev/null 2>&1