डिफ़ॉल्ट रूप से, कठपुतली ग्राहक हर 30 मिनट में अपडेट मांगते हैं। मैं इस अंतराल को बदलना चाहूंगा। इसे करने का सबसे सुविधाजनक तरीका क्या है?
डिफ़ॉल्ट रूप से, कठपुतली ग्राहक हर 30 मिनट में अपडेट मांगते हैं। मैं इस अंतराल को बदलना चाहूंगा। इसे करने का सबसे सुविधाजनक तरीका क्या है?
जवाबों:
क्लाइंट पर, फ़ाइल के [मुख्य] खंड में /etc/puppet/puppet.conf संपादित करें और निम्नलिखित सेट करें (यदि यह पहले से मौजूद नहीं है तो एक नई पंक्ति जोड़ें):
runinterval=xxx
जहां xxx सेकंड में आपका वांछित मतदान अंतराल है।
कठपुतली एजेंट कितनी बार कैटलॉग लागू करता है। ध्यान दें कि 0 का एक रनवेवल "कभी नहीं चलने" के बजाय "लगातार चलाएं" का अर्थ है। यदि आप चाहते हैं कि कठपुतली एजेंट कभी भी न चलाए, तो आपको इसे -नो-क्लाइंट विकल्प के साथ शुरू करना चाहिए। यह सेटिंग सेकंड (30 या 30s), मिनट (30m), घंटे (6h), दिन (2d), या वर्ष (5y) में एक समय अंतराल हो सकती है।
Default: 30m
यदि आप रनथ्रूवल का उपयोग करने से बचना चाहते हैं, तो क्रोन की स्थापना अच्छी तरह से काम कर सकती है। यह विशेष रूप से उपयोगी हो सकता है यदि आपके पास कई सर्वर हैं जो आप अपने कठपुतली को एक ही समय में मारना चाहते हैं। मैंने फ़ाइल को पुश करने और क्रोन को अपडेट करने के लिए कठपुतली का उपयोग किया, ग्राहक की ओर से कुछ भी नहीं (स्पष्ट रूप से)।
यहां मैं उपयोग कर रहा हूं (ध्यान दें कि मैं इसे प्रति घंटा चला रहा हूं लेकिन आप इसे cron.d में संदर्भित कर सकते हैं, मैंने यह स्क्रिप्ट नहीं बनाई है और दुर्भाग्य से यह नहीं जानता कि क्रेडिट किसे दिया जाए ):
#!/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