NAS Laufwerk mappen und Dateien kopieren

Hallo zusammen,

da ich aktuell die Anforderung hatte, Daten auf ein NAS schreiben zu müssen, bin ich zwangsläufig auf einige Probleme gestoßen, die hier auch schon in Fragmenten beschrieben und teilweise gelöst wurden. Ich möchte die Vorgehensweise und das Skript hier veröffentlichen. Vielleicht kann’s ja jemand gebrauchen.

Vorbereitung auf IP-Symcon Server (Windows) und NAS:

Der IPS Dienst darf nicht mit dem Systemkonto gestartet werden sondern mit einem Benutzer der über entspr. Rechte verfügt. Dazu unter Systemsteuerung->Verwaltung->Lokale Dienste „IP-Symcon Environment“ auswählen und im Reiter „Anmelden“ den Benutzer und ggf. Passwort eintragen.

Auf dem NAS dafür sorgen, dass genügend Rechte auf die Freigabe exisiteren.

Die gewünschte Freigabe einmal zum Test mappen (Laufwerksbuchstabe spielt keine Rolle) und ggf. Passwort eingeben (dient nur der Passwortspeicherung im System und kann anschließend wieder getrennt werden).

Kopieren der Dateien via Skript:

In folgendem Beispielskript werden die Dateien aus dem lokalen IP-Symcon/backup Verzeichnis auf ein NAS mit dem Namen Mediacloud auf die Freigabe ZDSicherung ins Verzeichnis „Sicherungen“ kopiert. Es wird ein Verzeichnis mit dem aktuellen Tagesdatum als Name angelegt.

<?
$quellverzeichnis="C:/Ip-Symcon/backup\\";
$zielverzeichnis="\\\\Mediacloud\ZDSicherung\Sicherungen\\";
$dat=date("Y")."-".date("m")."-".date("d");

IF (is_dir($zielverzeichnis)) /* Laufwerk Mapping ok? */
{
   IF (!is_dir($zielverzeichnis.$dat))
	{
		mkdir($zielverzeichnis.$dat);
	}
	$count=0;
	IF (is_dir($quellverzeichnis))
	{
	    IF ($dh = opendir($quellverzeichnis))
		 {
	        while (($file = readdir($dh)) !== false)
			    {

			      IF ( substr($file,0,1) <>".")
					{
					   IF ( !is_dir($quellverzeichnis.$file))
					      {
			      			$count++;

			      			copy($quellverzeichnis.$file,$zielverzeichnis.$dat."/".$file);
							}

					}
			  }
	        closedir($dh);
	    }
	}
}
ELSE
{
	echo "Probleme mit Zielverzeichnis $zielverzeichnis evtl. Mapping??";
}
?>

Vielleicht hilft’s dem ein oder anderen :slight_smile:

Gruß
Walter