Copy-Befehl fehlerhaft genutzt?

Antworten
mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

Copy-Befehl fehlerhaft genutzt?

Beitrag von mastergivi »

Moin Moin,

nachdem das mit der Softwareverteilung und Deinstallation schon recht gut klappt, haben wir ein neues Projektchen in Angriff genommen: Monitoring mit Zabbix. Der Server steht, jetzt müssen nur noch die Dateien auf die Rechner verteilt werden.

Einschub für alle, die es nicht kennen: Zabbix benötigt drei .exe-Dateien in einem beliebigen Verzeichnis auf dem Rechner, zzgl. einer Log- und einer Config-Datei.

Man ist ja faul, also ist das Ziel, die Dateien via opsi zu verteilen - außerdem lernt man so gleich was über opsi dazu. Zumindest, wie es nicht funktioniert. Mein Code schaut wie folgt aus:

Code: Alles auswählen

[Actions]

DefVar $ProductId$
DefVar $InstallDir$

Set $ProductId$		= "zabbix"
Set $InstallDir$ 	= "%ProgramFiles64Dir%\ZabbixAgent\"


;eigentliche Arbeitsschritte

Message "Installiere " + $ProductId$ + "..."
;File_copy
WinBatch_setup

;[File_copy]
;copy -s "%scriptpath%\zabbix\*.*" "$InstallDir$\"   ; -s erfasst auch Unterverzeichnisse

[WinBatch_setup]
copy -s "%scriptpath%\zabbix\*.*" "$InstallDir$\"   ; -s erfasst auch Unterverzeichnisse
"$InstallDir$\zabbix_agentd.exe" --config "$InstallDir$\zabbix_agentd.conf" --install
In der/meiner Theorie müsste das Ganze funktionieren - die Praxis sagt aber "nö". Könnt ihr mir weiterhelfen und sagen, wo das Problem liegt?
Besten Dank im Voraus,
Erik

/edit: Die letzte Codezeile ist ein Befehl, der auf der entsprechenden .exe ausgeführt werden soll. Das ließe sich auch per Hand erledigen, mir geht es primär um das Kopieren der Dateien.
rat
Beiträge: 264
Registriert: 01 Jan 2015, 12:40

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von rat »

Guten Morgen

Also ich habe weder beim Deklarieren der Variablen $InstallDir$ noch beim copy einen abschließenden \ Inwieweit dies jetzt was ausmacht? Was gibt eigentlich das LogFile her? Da sagt er eh meistens, ob und was ihn stört.

Set $InstallDir$ = "%ProgramFiles64Dir%\Zabbix"

copy -s "%ScriptPath%\files\*.*" "$InstallDir$"


Tante Edith:
Was ich jetzt auch nicht weiß ist, ob man eine Sektion irgendwie, also auch "Karl", "Susi" oder "MachWas" taufen kann ;-) oder ob es (Teil)Namensabhängige Unterschiede gibt. Ich habe meine Programme, die "nur" kopiert werden, immer mit einer [files_copy] aufgerufen. Ist (finde ich) auch etwas übersichtlicher, nur ob es so sein muß ..... Я не знаю
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von n.wenselowski »

Hi,

kopieren würde ich in der Files-Sektion.
Wenn irgendwas nicht klappt -> Log anschauen!
rat hat geschrieben:Tante Edith:
Was ich jetzt auch nicht weiß ist, ob man eine Sektion irgendwie, also auch "Karl", "Susi" oder "MachWas" taufen kann ;-) oder ob es (Teil)Namensabhängige Unterschiede gibt. Ich habe meine Programme, die "nur" kopiert werden, immer mit einer [files_copy] aufgerufen. Ist (finde ich) auch etwas übersichtlicher, nur ob es so sein muß ..... Я не знаю
Die sekundären Sektionen sind „Themen-spezifisch“ und verfügen jeweils über eine spezielle Syntax.
Der Sektionsname einer sekundären Sektion beginnt mit deren Typ, gefolgt von einem frei definierbaren Namen.
Mehr Infos im Getting Started.


Gruß

Niko

Code: Alles auswählen

import OPSI
rat
Beiträge: 264
Registriert: 01 Jan 2015, 12:40

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von rat »

Ich denke, ich habe es damals gelesen, nur ich war mir nicht mehr sicher. Nachdem ich es immer so gemacht habe und es immer funktioniert hat, habe ich keine Fehlersuche benötigt ;-)

Aber (jetzt für Mastergivi) das LogFile ist immer eine gute Quelle ...
edvbuo
Beiträge: 32
Registriert: 02 Jun 2014, 14:49

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von edvbuo »

Hallo,

wir haben auch Zabbix im Einsatz (Noch Version 2.4 aber sollte nicht großer Unterschied zu 3.0 sein) und ich habe es etwas einfacher umgesetzt. Wir nutzen den Zabbix Agent installer von http://www.suiviperf.com/zabbix/index.php (Open Source)

Mein OPSI Paket sieht wie folgt aus:

CLIENT_DATA
- setup.ins
- files\zabbix_agent_installer.exe

und die setup.ins wie folgt (kann man aber auch eleganter lößen):

Code: Alles auswählen

[Initial]
ExitOnError=true
StayOnTop = true
 
[Actions]
requiredWinstVersion >= "4.10.5"
 
DefVar $ProductId$
DefVar $ExitCode$
DefVar $NTVersioninfo$
DefVar $32bitfile$
DefVar $uninstallstring$
DefVar $Parameter$
SetLogLevel=6
Set $32bitfile$ ="zabbix_agent_installer.exe"

; ----------------------------------------------------------------
Set $ProductId$       = "zabbix"
; ----------------------------------------------------------------

Message "Installiert  " + $ProductId$ + " ..."
 
if not (HasMinimumSpace ("%SYSTEMDRIVE%", "10 MB"))
	LogError "Es ist nicht genügend freien Speicherplatz auf dem Laufwerk : %SYSTEMDRIVE%  vorhanden."
		isFatalError
endif
 
; OS Version ermitteln  > Win2000
Set $NTVersioninfo$ = GetMsVersionInfo
 
if not ( $NTVersioninfo$ >= "5.1" )
	LogError "Kein Komp. Betriebssystem vorhanden." 
		isFatalError
endif
 
; 32 Bit OS 
	comment " Installiere Zabbix"
	Winbatch_zabbix
	comment " Zabbix wird installiert"
	Sub_check_exitcode
 
[Winbatch_zabbix]
%ScriptPath%\files\$32bitfile$ /server=IP_ADRESSE_DES_SERVERS /lport=10050 /serveractive=127.0.0.1 /rmtcmd=1 /S /D=C:\
 
[Sub_check_exitcode]
comment "Test for installation success via exit code"
set $ExitCode$ = getLastExitCode
; informations to exit codes see
; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/aa368542.aspx
if ($ExitCode$ = "0")
	comment "Looks good: setup program gives exitcode zero"
else
	comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
	if ($ExitCode$ = "1605")
		comment "ERROR_UNKNOWN_PRODUCT	1605	This action is only valid for products that are currently installed."
		comment "Uninstall of a not installed product failed - no problem"
	else
		if ($ExitCode$ = "1641")
			comment "looks good: setup program gives exitcode 1641"
			comment "ERROR_SUCCESS_REBOOT_INITIATED	1641	The installer has initiated a restart. This message is indicative of a success."
		else
			if ($ExitCode$ = "3010")
				comment "looks good: setup program gives exitcode 3010"
				comment "ERROR_SUCCESS_REBOOT_REQUIRED	3010	A restart is required to complete the install. This message is indicative of a success."
			else
				logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
				isFatalError
			endif
		endif
	endif
endif
Man müsste nur die "IP_ADRESSE_DES_SERVERS" und fertig. Läuft bei uns von Win7 - Win 8.1 super. Vlt. hilft es ja ;-)

Beste Grüße
Niels
trabs-ol
Beiträge: 64
Registriert: 07 Dez 2011, 10:46

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von trabs-ol »

Hi,

so wie ich das sehe ist deine Files_Sektion auskommentiert (; am Anfang der Zeile). So wird dat nix! ;)

VG
Lars

Edit: Habe den copy in der Winbatch überlesen....
mastergivi
Beiträge: 8
Registriert: 13 Apr 2016, 15:28

Re: Copy-Befehl fehlerhaft genutzt?

Beitrag von mastergivi »

Hey Leute, vielen Dank nochmal für eure Hilfe. Mit dem Copy hat's zwar immer noch nicht geklappt, aber dank edvbuo habe ich jetzt einfach ein Installationsskript laufen lassen.

An dem Copy arbeite ich noch, wird sicher irgendwann mal hilfreich sein.
Antworten