для ответа на вторую точку вот то, как я перемещаю папки с Черепахой-SVN:
Когда Вы обновляете, Черепаха, SVN удалит папку, где это было и воссоздает его, куда Вы переместили ее.
На клиенте (клиентах) отредактируйте/etc/puppet/puppet.conf и установите следующее (добавьте новую строку, если он уже не присутствует) в [основном] разделе файла:
runinterval=xxx
где xxx является Вашим желаемым интервалом опроса в секундах.
Как часто марионеточный агент применяет каталог. Обратите внимание, что runinterval 0 означает “выполняемый непрерывно”, а не “никогда не работает”. Если Вы хотите, чтобы марионеточный агент никогда не работал, необходимо запустить его с - опция без клиентов. Эта установка может быть временным интервалом в секундах (30 или 30-е), минуты (30 м), (6-е) часы, (2-е) дни, или годы (5 лет).
Default: 30m
Если требуется избегать использования runinterval, настраивание крона могло бы работать хорошо. Это могло быть особенно полезно, если у Вас есть много серверов, что Вы хотите удержаться от удара Вашего puppetmaster одновременно. Я использовал puppetmaster для выставления файла и крона обновления, ничто, чтобы сделать от стороны клиента (очевидно).
Вот то, что я использую (обратите внимание, что я выполняю его каждый час, но Вы могли просто сослаться на него в cron.d, я не создал этот сценарий, и unfortunetly не знают, кто кредитовать):
#!/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