Hallo Jörg, hallo Holger,
das wollte ich ohnehin tun. Hier isses.
Gruß Jürgen
Am 18.04.2016 um 18:11 schrieb Jörg Richter:
> Hallo Jürgen,
>
> hier gibt es zwei Fehlermeldungen:
>
> > sed: bad option in substitution expression
>
> und:
>
> > sh: bad pid '1916
> > 3021'
>
> Offenbar hat hier Dein Postsync-Skript einen Fehler, dem würde ich
> nachgehen. Beim zweiten scheint es so zu sein, dass zwei Prozesse
> laufen, das Skript aber nur mit einem rechnet, de erste ist unklar.
>
> Hast Du schon mal Dein Postsync-Skript gepostet? Falls nein, mach das
> doch mal
>
>
> Viele Grüße
>
> Jörg Richter
>
> _______________________________________________
> linuxmuster-user mailing list
> [email protected]
> https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user
>
echo "##### trusty-linuxmuster POSTSYNC BEGIN #####"
# IP-Adresse des Server
SERVERIP="$(grep ^linbo_server /tmp/dhcp.log | tail -1 | awk -F\' '{ print
$2 }')"
STARTCONF=/cache/start.conf
# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then
RAUM="unknown"
fi
# Das Verzeichnis, in dem die Serverpatches
# local synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches
# UVZ auf dem Server. Mit diesem Variablen kann
# man verschiedene Images bedienen (was bei linux
# selten nötig ist)
PATCHCLASS="notebook"
echo ""
echo "Hostname: ${HOSTNAME}"
echo "Raum: ${RAUM}"
echo "Patchcache: ${PATCHCACHE}"
echo "Patchclass: ${PATCHCLASS}"
echo ""
# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# -----------------------------------------
echo " - getting patchfiles"
# RAUM -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}"
"/cache/${PATCHCACHE}"
echo " - patching local files"
# zuerst alles in common
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/
fi
# dann raumspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/
fi
# dann rechnerspezifisch
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then
cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/
fi
# -----------------------------------
# Berechtigungen anpassen, wenn nötig
# -----------------------------------
echo " - setting permissions of patched local files"
# printers.conf
[ -f /mnt/etc/cups/printers.conf ] && chmod 600 /mnt/etc/cups/printers.conf
# .ssh verzeichnis
chmod 700 /mnt/root/.ssh/
chmod 600 /mnt/root/.ssh/authorized_keys
# hostname in /etc/hosts patchen
sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
# fstab anpassen, damit Swap-Partition stimmt
SWAP=$(sed ':a;N;$!ba;s/\n/;UMBRUCH;/g' $STARTCONF | sed 's/ //g'|sed
's/\[Partition\]/\n/g' | grep -i 'fstype=swap' | sed 's/;UMBRUCH;/\n/g' | grep
-i 'dev=/' | cut -d'=' -f2 | head -c9)
sed -i "s/#dummyswap/$SWAP/g" /mnt/etc/fstab
# -----------------------------------
# Virtuelles Windows rsyncen
# -----------------------------------
# Name des Basisimages das zusaetzlich synchronisert werden soll (muss
angepasst werden)
mybaseimage=MS-Windows-notebook.cloop
# mybaseimage=""
# Name des Rsyncimages, ggf. eintragen
myrsyncimage=""
# Zielpartition auf die gesynct werden werden soll, muss angepasst werden
myrootpartition=/dev/sda3
# myrootpartition=""
# Ab hier muss nichts mehr veraendert werden.
# IP des LINBO-Servers, wird automatisch aus dhcp.log ermittelt
myserverip="$(grep ^linbo_server /tmp/dhcp.log | tail -1 | awk -F\' '{
print $2 }')"
# Ausgabe der Parameter auf der LINBO-Konsole
echo "cachepartition: $1"
echo "myserverip: $myserverip"
echo "mybaseimage: $mybaseimage"
echo "myrsyncimage: $myrsyncimage"
echo "myrootpartition: $myrootpartition"
# Befehl zur Synchronisation der zweiten Partition
/usr/bin/linbo_cmd synconly "$myserverip" "$1" "$mybaseimage"
"$myrsyncimage" "" "$myrootpartition"
# Syntax fuer linbo_cmd synconly:
# /usr/bin/linbo_cmd synconly "<LINBO-Server-IP>" "<Cachepartition>"
"<Basisimage>" "<Rsyncimage>"
# "<Bootpartition>" "<Rootpartition>"
# Cachepartition steht in der Variablen $1 zur Verfuegung.
# Bootpartition ist optional, falls leer muessen Anfuehrungszeichen gesetzt
werden.
echo "##### POSTSYNC END #####"
_______________________________________________
linuxmuster-user mailing list
[email protected]
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user