[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] Debian auf mehreren Rechnern?



On Wed, Aug 22, 2001 at 07:36:26AM +0200, Joerg Desch wrote:
> On Tue, 21 Aug 2001 17:36:17 +0200 Jens Benecke <jens@jensbenecke.de>
> wrote:
> 
> Hi Jens,

moin :)
 
> > Wenn dir der Platz nicht zu wertvoll ist: einfach drübermounten.  [...]
> Das ist natürlich auch eine gute Idee! Das das ganze funktieren kann,
> wenn der mount beim Hochfahren nicht klappt, kann ich mir erklären. Was
> ist aber, wenn der NFS mount schon mal geklappt hat, und der Server
> wirklich ausfällt? Kommt es dann automatisch zu einem umount, so daß das
> lokale /usr wieder aktiviert wird?

Nein. Schreib einen daemon, der den NFS Server anpingt oder sowas, und beim
Ausfallen einen 'umount -f' macht. (umount -f geht AFAIK NUR bei NFS)
 
> > Ich mache das hier einfacher ... ich installieren einen 'master client'
> > und synche dann _alle_ 'slave clients' _komplett_ mit rsync - bis auf
> > ein paar kritische rechnerspezifische Dateien (wie /etc/hosts usw).
> Wo klingst Du das sync-script ein? Beim PowerUp, per cron, ...?

Gar nicht, wird manuell gestartet. Daher 'halbtautomatisch'.
 
> Wenn's nicht zu unverschämt ist, könntest Du mir das Script mal mailen?

Es haben jetzt schon mehrere per eMail gefragt, ich poste es einfach mal.
AUSNAHMSWEISE. :)

-- 
Jens Benecke ········ http://www.hitchhikers.de/ - Europas Mitfahrzentrale

MSTD, n: MicroSoft Transmitted Disease. Propagates only due to Microsoft's
insistence on distributing [software] that resembles Petri dishes.
See also ILOVEYOU, Melissa, Code Red, Sircam, IIS.
                     -- http://www.everything2.com/index.pl?node=MSTD 
#!/bin/bash
#
# Bei allen erreichbaren Rechnern das als $1 übergebene Verzeichnis
# synchronisieren, wobei /home/.r/rsync-exclude als Exclude-Liste beachtet
# wird.
#                           -- Jens Benecke <linux-ag@jensbenecke.de>
# ChangeLog:
# 1.0	Erste Version.
# 1.1	Angepaßt auf feste Hostnamen != feste IPs (/etc/sysconfig/network wird
#		nicht gesynct, dafür feste Hostnamen).
#
#
# ENGLISH INSTALL HINTS:
#
#  - adopt your path settings (exclude-file etc.)
#  - make sure rsync and ssh is installed on all clients, the sync only works
#    if those are present and working. YOU NEED NMAP for the MASTER client if
#    you want to figure out which IPs to sync automatically.
#  - for each "slave client", as root, do the following:
#	cat /root/.ssh/identity.pub | ssh $client "cat >> /root/.ssh/authorized_keys"
#    this will let "ssh masterclient->slaveclient" work without password,
#    necessary for the sync process.
#

LOG="rsync-`date '+%y%m%d'`.log"
OWN_IP="`ifconfig eth0 | grep addr: | awk '{print $2;}'| cut -d: -f2`"
SERVER="192.168.2.1"	# don'T touch the server, just the workstations

if test "$1" == ""; then echo "Syntax: $0  [-n] <Verzeichnis>"; exit; fi

# "-n" = test mode, don't DO anything just pretend. (dry run)
if test "$1" == "-n" ; then N=-n ; DIR=$2
	else unset N ; DIR=$1; fi

echo

EXCL=rsync-exclude
IPS="`nmap -sP 192.168.2.0/24 -n -m -|grep "Up$" | awk '{print $2;}'`"
IPS="`echo $IPS | sed s/$OWN_IP// | sed -e s/$SERVER//`"
# falls eine kiste gerade windoof fährt, antwortet sie auf rsync sowieso nicht

echo -n "Ich starte jetzt Synchronisation für $IPS:"
echo
echo rsync -ve ssh -va $N --delete --exclude-from=$EXCL $DIR "root@(IP)":$DIR
echo

echo -n "Taste ..."
read XYZ

echo --------------------------------------------------------------------------
for IP in $IPS ; do
	# test "$IP" == "192.168.2.61" && N="$N --exclude=/etc/printcap"
	echo ; echo
	echo rsync -e ssh -va $N --delete --exclude-from=$EXCL $DIR root@$IP:$DIR 
	echo
	echo >> $LOG
	echo "---------- $IP --------------------------------------" >> $LOG
	rsync -e ssh -va $N --delete --exclude-from=$EXCL $DIR root@$IP:$DIR \
		&& SUCC="$SUCC $IP" 2>&1 | tee -a $LOG
	
	# muss, weil /boot auch gesyncht wird (ggf. neuer kernel)
	ssh $IP lilo
done

echo --------------------------------------------------------------------------
echo "Sync für die Rechner $SUCC durchgeführt."

rm -fv $PWFILE

Attachment: pgpQPtarpREOW.pgp
Description: PGP signature


Reply to: