WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   bat-file fehler (http://www.wcm.at/forum/showthread.php?t=185280)

darkcobalt 12.02.2006 13:11

bat-file fehler
 
hallo. ich habe mir eine kleines batchfile geschrieben für meine datensicherung.

es funtioniert aber nicht. könnt ihr euch den code kurz anschauen und mir sagen wo der fehler ist? das ganze läuft auf einem xp pro recher und der rechner auf den ich die daten im netz spielen will heisst "Lagerhaus" (auch xp pro).

CODE-------------------------------------------------------

@echo off
title Datenbackup
c:
cd\
cls
echo BACKUP
echo ======
echo Starte Datenbackup...
echo Dieses Programm erstellt ein Serverbackup aller Daten.
echo.
echo.
xcopy "C:\Dokumente und Einstellungen\Manfred\Eigene Dateien\*.*" "\\Lagerhaus\C:\lagerhaus_hdd1\PRIVAT\MANFRED\ *.*" /y/s/e/r/h
if not errorlevel 1 goto end
color 4F
echo <<<<<<<<<<<<<< Beim Kopieren ist ein Fehler aufgetreten >>>>>>>>>>>>>>>
echo -----------------------------------------------------------------------
echo Melden sie die Störung umgehend ihrem Administrator
pause
:end
color 2F
cls
echo.
echo.
echo Datensicherung erfolgreich abgeschlossen
echo ----------------------------------------
echo Beliebige Taste drücken um fortzufahren
echo.
echo.
echo.
echo.
pause

catch17 12.02.2006 13:58

nun zuerst kannst dir das *.* sparen - ordner alleine genügt...
dann die errorlevel abfrage in "if errorlevel 0 goto end" ändern - es gibt mehrere errorlevel-codes -> '0' heißt erfolgreich kopiert...
und dann musst du zuvor ein netzlaufwerk 'X' mit dieser adresse (\\Lagerhaus\C:\lagerhaus_hdd1\PRIVAT\MANFRED\) erstellen (net use) und dann im xcopy-befehl 'x:\' als zielverwenden - dann sollte es keine probleme mehr geben ...

liebe grüße, catch17

darkcobalt 12.02.2006 15:35

@catch17
 
ok. danke! aber gibt es keine möglichkeit ohne netzlauferk bzw. kann ich das netzlaufwerk vertecken, so das die anderen user es nicht sehen!!!!!!

ich will nur dorthin kopieren, es muss sonst nicht sichtbar sein.

catch17 12.02.2006 16:18

nun du hast ja schon eine .bat datei - einfach VOR kopiervorgang verbinden und Nach kopieren wieder trennen... außerdem solltest du schalter /d benutzen (kopiert dann nur neuere dateien nicht alles) - dann dauert sicherungsvorgang erhebnich kürzer bzw. dir 'robocopy' ansehen - damit kannst auch backup von nicht mehr vorhandenen dateien säubern u.v.m

lg, catch17

JackLemon 15.02.2006 09:51

es ist überhaupt nicht notwendig ein netzlaufwerk zu erstellen, der UNC-pfad (\\host\freigabe\verzeichnis) reich vollkommen.

das problem ist imho ein ganz anderes: "c:" ist kein gültiger freigabe-name. ich gehe daher davon aus dass du selbst keine freigabe erstellt hast, sondern einfach versuchst mit "c:" auf das entsprechende laufwerk zuzugreifen. dazu musst du das laufwerk aber entweder zuerst im netzwerk freigeben (rechtsklick auf das laufwerk, eigenschaften, freigabe, namen eingeben und freigabe-berechtigungen setzen) oder du verwendest eine bestehende freigabe. unter windows ab NT gibt es für jedes nicht auswerfbare laufwerk (zB harddisk-partitionen) automatisch eine administrative standardfreigabe, die den buchstaben des laufwerkes hat und ein $-zeichen hinten dran (c$, d$ etc.).

wenn du als administrator auf den lagerhaus-computer zugreifst kannst du eine administrative standardfreigabe verwenden (in deinem fall wäre es c$), ansonsten musst du eine eigene freigabe (zb einfach C) einrichten. und: alle administrativen freigaben (=alle mit einem $-zeichen dahinter, du kannst auch selbst welche machen, zB daten$) werden im netzwerk-browser nicht angezeigt, man muss "wissen" dass sie da sind.

best practice in deinem fall wäre übrigens, nur das verzeichnis auf das du wirklich zugreifen möchtest freizugeben. wenn du zb ...\privat\manfred als manfred_privat freigeben würdest könntest du mit \\lagerhaus\manfred_privat darauf zugreifen.

LouCypher 15.02.2006 10:43

weiters fällt auf das quelldateien die nicht mehr existieren in der sicherung weiterhin existieren somit hast einen mix aus aktuellen daten und alten müll, ausser du löscht das zielverzeichnis vorm backup.

Ausserdem würd ich den switch /M verwenden um inkrementell und daher effizienter zu sichern, was natürlich ein schmarrn ist wenn du vorher alles löscht.

Um diese probleme zu verhindern würde ich robocopy vom ressource kit empfehlen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag