source: genesis/tools/batch-cmd@ 10634

Last change on this file since 10634 was 10634, checked in by rick, 13 years ago

Let's see if we can reboot all lvrouted clients at ones, to load new -z flag settings.

Related-To: beheer#196

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/sh
2#
3# Mega simple wrapper for batch control on nodes.
4#
5# Rick van der Zwet <rick@wirelessleiden.nl>
6#
7
8HOSTS=${*:-"`$(dirname $0)/gformat.py list up systems fqdn`"}
9PREFIX=${PREFIX:-'ip'}
10CMD=${CMD:-'md5 /usr/local/etc/rc.d/lvrouted'}
11
12echo "# WARN: Going to run at: " $HOSTS; sleep 2
13
14##
15## Network differences
16##
17#cat << 'EOF' >/tmp/command
18#sh -c ". /etc/rc.subr; load_rc_config "networking"; set" > /tmp/networking-env
19#grep -e ^ifconfig -e ^ipv4 /tmp/networking-env
20#{ grep -e ^ipv4 /tmp/networking-env | cut -d= -f2 | tr -d \' | xargs -n1 | cut -d/ -f1;
21# grep -e ^ifconfig /tmp/networking-env | grep -v -i 'dhcp' | cut -d= -f2 | tr -d \' | cut -d' ' -f2 | cut -d'/' -f1
22#} | sort -u > /tmp/config
23#ifconfig -a | grep 'inet ' | cut -d' ' -f2 | sort > /tmp/current
24#echo "# Comparing IP differences /tmp/current vs /tmp/config"
25#diff -u /tmp/current /tmp/config
26#EOF
27
28##
29## Migrate SSH authorized_keys symlink to new location.
30##
31#cat <<'EOF' > /tmp/command
32#mount -uwo noatime / && unlink /root/.ssh && mkdir /root/.ssh && ln -s /etc/ssh/authorized_keys /root/.ssh/ && mount -ur
33#EOF
34
35##
36## View lvrouted configured flages
37##
38#cat <<'EOF' > /tmp/command
39#/usr/local/etc/rc.d/lvrouted rcvar | grep flags
40#EOF
41
42##
43## Restart lvrouted
44##
45cat <<'EOF' > /tmp/command
46sleep 30
47nohup /usr/local/etc/rc.d/lvrouted restart
48EOF
49
50##
51## Sync lvrouted and wl-config files
52##
53#cat <<'EOF' > /tmp/command
54#mount -uwo noatime / || exit 1
55#trap "mount -ur /; exit 1" 1 2 3 15
56#trap "mount -ur /; exit 0" 0
57#
58#cp -v /tmp/wl-config /tools || exit 1
59#cp -v /tmp/lvrouted.in /usr/local/etc/rc.d/lvrouted || exit 1
60#cp -v /tmp/lvrouted.in /conf/base/etc/local/rc.d/lvrouted || exit 1
61#
62#/usr/local/etc/rc.d/lvrouted rcvar
63#EOF
64
65##
66## Run /tools/wl-config with random scheduler to avoid gold-rush and killing the
67## config generator server
68##
69#cat <<'EOF' > /tmp/command
70##sleep `expr $$ % 120`
71#/tools/wl-config -b
72#EOF
73
74
75# Cleanup old entries
76rm $PREFIX-* stderr-*
77
78for HOST in $HOSTS; do
79 echo "# Working on $HOST"
80 stdout_file="$PREFIX-${HOST%%.}.txt"
81 stderr_file="stderr-${HOST%%.}.txt"
82 : > $stdout_file
83 : > $stderr_file
84 {
85 #scp -o ConnectTimeout=3 -o BatchMode=yes /tmp/wl-config /tmp/lvrouted.in root@$HOST:/tmp || exit 1
86 cat /tmp/command | ssh -o ConnectTimeout=3 -o BatchMode=yes root@$HOST 'cat >/tmp/command && sh /tmp/command'
87 } 1>$stdout_file 2>$stderr_file &
88done
89
90echo "# Wait for all processes to complete."
91wait
Note: See TracBrowser for help on using the repository browser.