source: trunk/locker/sbin/rpm-master.sh @ 1654

Last change on this file since 1654 was 1654, checked in by achernya, 14 years ago
Added grep to try and remove the extraneous lines from ssh
  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/bin/sh
2
3echo "Entering correct directory..."
4mkdir -p /mit/scripts/cron_scripts/rpm-sync/
5cd /mit/scripts/cron_scripts/rpm-sync/
6
7echo "Cleaning up environment..."
8rm -rf *.rpmlist *.diff rpmlist.master missing.rpms
9
10servers=`finger @scripts-director.mit.edu | grep "\->" | grep EDU | awk '{print $2}' | cut -d: -f1 | sort | uniq`
11
12for server in $servers; do
13    echo "Connecting to $server..."
14    ssh $server /mit/scripts/sbin/rpmlist.sh 2>&1 | grep -v "scripts.mit.edu" 1>&2
15done
16
17echo "Creating master package list..."
18cat *.rpmlist | sort | uniq > rpmlist.master
19
20echo "Comparing scripts servers to overall rpm list..."
21touch missing.rpms
22for server in *.rpmlist; do
23    diff -U3 $server rpmlist.master > $server.diff
24    serverPretty=`basename $server .rpmlist`
25    echo "Server $serverPretty is missing:" >> missing.rpms
26    grep "^+[^+]" $server.diff | cut -b 1 --complement >> missing.rpms
27    echo >> missing.rpms
28done
29
30if [ `egrep -c -v '(missing)|(^$)' missing.rpms` -gt 0 ]; then
31    echo "Sending email..."
32    cat missing.rpms | mail -s "scripts.mit.edu servers are out of sync" root@scripts.mit.edu
33else
34    echo "No email needs to be sent! scripts.mit.edu is up to date."
35fi
Note: See TracBrowser for help on using the repository browser.