Files
munki/code/client/updatecheckhelper
Justin McWilliams 4046754270 Merge supervisor branch (r1110, r1111, r1114) into trunk.
Summary:
- wrap entire managedsoftwareupdate execution and kill if open for 12 hours.
- move "delay/sleep" logic into supervisor, removing need for updatecheckhelper (but keep updatecheckhelper around so clients continue to work without reloading launchd)


git-svn-id: http://munki.googlecode.com/svn/trunk@1115 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-04-13 21:57:02 +00:00

32 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# this script simply sleeps a random number of seconds
# up to MAX_DELAY_MINUTES, then runs managedsoftwareupdate --auto.
# It's meant to spread the load on the munki server
# so all clients don't hit it simultaneously.
# If launchd had a way to randomize the StartInterval,
# we wouldn't need to do this.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if [ "$1" != "" ]; then
MAX_DELAY_MINUTES="$1"
else
MAX_DELAY_MINUTES=60
fi
MAX_DELAY_SECONDS=$((MAX_DELAY_MINUTES*60))
seconds=$(( (RANDOM%MAX_DELAY_SECONDS+1) ))
sleep $seconds
/usr/local/munki/supervisor --timeout 43200 -- \
/usr/local/munki/managedsoftwareupdate --auto