#!/usr/local/bin/perl -w #Installation des Hypofix-Datenverzeichnisses auf einen File-Server #Bitte die einzelnen Schritte beachten #Schritt 1 #Quellverzeichnis angeben $quellverzeichnis = "./Dat"; #Schritt 2 #Zielverzeichnis angeben $zielverzeichnis = "./Ziel"; #Schritt 3 #Programmverzeichnis angeben $progverzeichnis = "./Prg"; ################################################################ ################################################################ #(NICHT AENDERN!) ################################################################ #Subroutine für Datumsstempel sub Datumsstempel { ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime(); $jahr=$year; $monat=$mon+1; $tag=$mday; $jahr=$year; $jahr=$year +1900; if (length($monat) == 1) { $monat="0$monat"; } if(length($tag) == 1) { $tag="0$tag"; } $sec = 0; $min = 0; $hour = 0; $wday = 0; $isdst = 0; $ydat = 0; $Datum=$tag."_".$monat."_".$jahr; } ################################################################ #Subroutine für Zeitstempel sub Zeitstempel { ($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst)=localtime(); $sekunde=$sec; $minute=$min; $stunde=$hour; if (length($sekunde) == 1) { $sekunde="0$sekunde"; } if(length($minute) == 1) { $minute="0$minute"; } if(length($stunde) == 1) { $stunde="0$stunde"; } $time = 0; $time=($sekunde, $minute, $stunde) = (localtime); $sek = $sekunde; $minu = $minute; $stun = $stunde; $Zeit = $stun.":".$minu.":".$sek; } ################################################################ #alte Logdatei entfernen if (-e "copy.log") { system ("rm -f copy.log"); } ################################################################ #Datenverzeichnis von Windows in Unix-format konvertieren system ("dos2unix ./$quellverzeichnis/*.*"); ################################################################ #Logdatei öffnen und Eingabedaten übertragen: open(LOGDATEI,">copy.log") or die $!; Zeitstempel; print LOGDATEI "##############################################################\n"; print LOGDATEI "Start des Kopiervorgangs: $Zeit \n\n"; print "##############################################################\n"; print "Start des Kopiervorgangs: $Zeit \n\n"; print LOGDATEI "Quellverzeichnis: $quellverzeichnis \n"; print LOGDATEI "Zielverzeichnis: $zielverzeichnis \n"; close LOGDATEI; ################################################################ #Subroutine für Befehl ausführen und loggen sub ExecuteWithLogging { open(LOG,"$_[0] |") or die $!; while() { print LOGDATEI $_; } } ################################################################ #Copyjob open(LOGDATEI,">>copy.log") or die $!; Zeitstempel; print LOGDATEI "##############################################################\n"; print LOGDATEI "Start des Kopiervorgangs: $Zeit \n"; print "##############################################################\n"; print "Start des Kopiervorgangs: $Zeit \n"; system ("cp -f-a $quellverzeichnis $zielverzeichnis"); close LOGDATEI; ############################################################### #IBB42.ini Datei anpassen use Tie::File; use strict; use warnings; my $file = "$zielverzeichnis/hypohall/ibb42.ini"; tie my @array,'Tie::File',$file or die $!; foreach my $line(@array) { if($line =~ /DatenPfad/) { chomp $line; $line .= "$zielverzeichnis\n"; } } untie @array; foreach my $line(@array) { if($line =~ /ServerDatenPfad/) { chomp $line; $line .= "$zielverzeichnis\n"; } } untie @array; ################################################################ #Appl.ini Datei anzupassen use Tie::File; use strict; use warnings; $file = "$progverzeichnis/hypofix/appl.ini"; tie my @array,'Tie::File',$file or die $!; foreach my $line(@array) { if($line =~ /Name/) { chomp $line; $line .= "$zielverzeichnis\n"; } } untie @array; foreach my $line(@array) { if($line =~ /ServerName/) { chomp $line; $line .= "$zielverzeichnis\n"; } } untie @array;