Wij gebruiken pssh om meerdere servers gelijktijdig te updaten.
Hiervoor heb ik een bash scriptje gemaakt en de te uit voeren commando,s onder elkaar gezet, het scriptje laad de lijst met servers en voert de commando,s uit.
De scripts die bestanden kopieren naar de remote server om ze aldaar uit te pakken en eventueel vervolg commando,s moeten uitvoeren werken niet naar behoren.
Het lijkt erop dat pssh geen volgorde van de servers uit de server lijst hanteerd en probeert bestanden uit te pakken terwijl dit bestand nog niet is gekopieerd naar de remote server met als gevolg error can not find file..
Dit gebeurd met zo,n 10 severs uit een lijst van 50 servers, volledig random
Hierbij een voorbeeld van het script dat probeert de NL vertaling op alle DA servers te updaten:
Zoals jullie waarschijnlijk al zien ben ik geen bash programeur en ik zet alle commando,s gewoon in een rijtje onder elkaar, echter voor de meeste van deze scriptjes werkt dit wel, deze waarbij een bestand moet worden gekopieerd niet.PHP Code:#!/bin/bash
printf "Wil je alle servers gelijktijdig updaten met de NL DA vertaling? [Y,N]: "
while true;do
read yesno
case "$yesno" in
[Yy])
echo "Install/Upgrade NL vertaling Directadmin"
pssh -h /usr/local/updatescript/ip.txt rm -rf /usr/local/directadmin/data/skins/enhanced.bak
pssh -h /usr/local/updatescript/ip.txt mv /usr/local/directadmin/data/skins/enhanced /usr/local$
pscp -h /usr/local/updatescript/ip.txt /usr/local/updatescript/configfiles/enhanced.tar.gz /us$
pssh -h /usr/local/updatescript/ip.txt tar zxvf /usr/local/directadmin/data/skins/enhanced.tar.$
pssh -h /usr/local/updatescript/ip.txt /usr/local/directadmin/data/skins/enhanced/set_permissio$
pssh -h /usr/local/updatescript/ip.txt rm -f /usr/local/directadmin/data/skins/enhanced.tar.gz
echo ; echo ; echo "NL Translation voltooid."
echo "Done."
break

Likes:


Quote