Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Tägliche Vollsicherung per Batch Xcopy

Frage Entwicklung Batch & Shell

Mitglied: toksoy

toksoy (Level 1) - Jetzt verbinden

24.03.2014, aktualisiert 26.03.2014, 2442 Aufrufe, 15 Kommentare

Hallo Liebe Profis,

Ich habe das Problem mit meinem Sicherungsscript's !

Ich wollte per Xcopy für meinem DATEV Ordner einen sicherung machen und zwar so , dass es Täglich die Woche (7 Tage) den Ordner DATEV in eine Freigabe kopiert und zwar ohne jegliche Eingriffe.
Dies klappt soweit , allerdings möchte mein Vorgesetzter so, dass es jeden Tag Mo-So so aussehen soll:

Mo : soll der Ordner mit '1' gekennzeichnet werden oder mit 'Mo'
Di : soll mit '2' oder 'Di'

und dass ganze soll von MO-SO gekennzeichnet werden .

Wenn es wieder Montag ist soll es nur die änderungen überschrieben werden qwasie (Inkrementell) und dies für Mo-SO.


Bitte um euer Hilfe.

Meine Script sieht folgendermaßen aus :

net stop MSSQL$DATEV_DBENGINE /y
REM SICHERUNG

net use Q: \\dc1\SRV0004 /persistent:no
xcopy "C:\DATEV" Q:\Datev /c /d /e /h /i /k /q /r /s /x /y
net use Q: /delete


net start MSSQL$DATEV_DBENGINE
net start SQLAgent$DATEV_DBENGINE
Mitglied: Dirmhirn
24.03.2014, aktualisiert um 11:23 Uhr
Hi Tokksoy

sie dir mal die MIR Option von Robocopy an + viele weitere.
auch das mit den Ordner kann Robocopy glaube ich out-of-the-box.

ist ab Win Vista bei Windows incl. sonst einfach runterladen.

kannst dann auch direkt auf \\dc1\SRV0004 zugreifen ohne share.

sg Dirm
Bitte warten ..
Mitglied: toksoy
24.03.2014 um 11:40 Uhr
Hallo Dirmhirn,

vielen Dank für's schnelle Antwort.

Ich verstehe absolut die MIR option nicht. bzw. Robocopy.

Wie gut ist meine Script? und kann ich da nicht mit parametern sagen wie oben beschrieben Mo einen ORdner DI einen Ordner , so dass es mir autom. anlegt?
Bitte warten ..
Mitglied: Dirmhirn
24.03.2014 um 12:00 Uhr
Hi Toksoy,

die MIR Option spiegelt (mirror) ein Verzeichnis, d.h. löschst du im Source Folder eine Datei, dann wird sie auch im Destination Folder gelöscht.

dachte Robocopy hätte eine "Keep x Backups" Funktion - grad nicht gefunden.

aber mit einer einfachen Batch Variable, in der du den jeweiligen Wochentag abspeicherst und diese an den Dest Pfad hängst, kannst du dir das mit Robocopy basteln.

da du Systemadministrator angegeben hast, ließ dir die robocopy /? Hilfe durch und bastel dir ein Skript.

wenn's Probleme gibt dann frag hier und bitte code immer in < code> < / code>

wenn dir das mit den Wochentagen und IF zu kompliziert ist, dann mach halt 7 Tasks und für jeden eine Batchdatei. ist halt aufwendiger wenn du etwas ändern willst.

sg Dirm
Bitte warten ..
Mitglied: bastla
24.03.2014, aktualisiert um 12:17 Uhr
Hallo toksoy!

Unabhängig von der Frage, ob nicht tatsächlich "robocopy" das sinnvollere Werkzeug wäre, ein Ansatz, um den Wochentag als laufende Nummer von 1 (Mo) bis 7 (So) in der Variablen %WtNr% zu erhalten:
01.
>"%temp%\GetWdN.vbs" echo WScript.Echo Weekday(WScript.Arguments(0),2) 
02.
for /f %%i in ('cscript //nologo "%temp%\GetWdN.vbs" %date%') do set /a WtNr=%%i
Es wird hier einfach durch den Batch ein kleines VBScript erzeugt, das den entsprechenden Wert an den Batch zurückliefert.

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
24.03.2014 um 13:15 Uhr
Hey,
der Wochentag ohne Basic:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
SET "DOWs=MODIMIDOFRSASO" 
03.
FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a*2 
04.
CALL SET "DOW=%%DOWs:~%DayOfWeek%,2%%" 
05.
ECHO(%DOW%
Gruss Endoro.
Bitte warten ..
Mitglied: Pago159
25.03.2014, aktualisiert um 09:49 Uhr
Hi Endoro,
deine Batch gibt immer meinen Tag später an ich habe das mal eben schnell angepasst:

01.
 
02.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
03.
SET "DOWs=MODIMIDOFRSASO" 
04.
FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a*2-2 
05.
CALL SET "DOW=%%DOWs:~%DayOfWeek%,2%%" 
06.
ECHO(%DOW% 
07.
 
08.
Pause
Gruß Pago
Bitte warten ..
Mitglied: toksoy
25.03.2014, aktualisiert um 10:28 Uhr
Hallo Dirmhirn !

danke für die schnelle Antwort.
ich hatte es mir auch mit 7 Tasks vorgestellt aber ist viel zu aufwändig.

Es geht mir ja um Wochentage..... und das bekomme ich nicht hin!!
Bitte warten ..
Mitglied: toksoy
25.03.2014 um 10:31 Uhr
Lieben Dank Endoro und Pago,

ich verstehe bloss nicht wo ich die Zeilen Eintragen Soll , sollte ich meinem batch lassen und anschließend diesen batch eintragen ?
Weil hier ja keine Quell und Ziel adresse etc. Angegeben sind.

Bitte um Hilfe..


Gruß Toksoy
Bitte warten ..
Mitglied: Endoro
25.03.2014, aktualisiert 26.03.2014
Hey @Pago159

Zitat von Pago159:

Hi Endoro,
deine Batch gibt immer meinen Tag später an ich habe das mal eben schnell angepasst:
da könnte jetzt -2 rauskommen, ich würde lieber die Wochentage umsortieren:
01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
SET "DOWs=SOMODIMIDOFRSA" 
03.
FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a*2 
04.
CALL SET "DOW=%%DOWs:~%DayOfWeek%,2%%" 
05.
ECHO(%DOW%
Gruss Endoro.
Bitte warten ..
Mitglied: toksoy
26.03.2014, aktualisiert um 11:37 Uhr
Hallo Endoro und etc.,

Ich bekomme es nicht hin.

Bitte gibt mir eine konkrete Lösung wie ich es ausführen kann bzw. wie die batch datei aussehen soll.

Mfg Toksoy
Bitte warten ..
Mitglied: Pago159
26.03.2014, aktualisiert um 17:17 Uhr
Hiermit erstellst du einen Ordner Datev und darunter dann die Ordner Mo - Di - Mi - Do - Fr - Sa - So
Die Xcopy Parameter habe ich mir jetzt nicht angeschaut, denke aber mal, dass du dich damit beschäftigt hast und lasse sie deshalb so stehen.

01.
@ECHO OFF &SETLOCAL disableDelayedExpansion 
02.
SET "DOWs=SOMODIMIDOFRSA" 
03.
FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a*2 
04.
CALL SET "DOW=%%DOWs:~%DayOfWeek%,2%%" 
05.
 
06.
net stop MSSQL$DATEV_DBENGINE /y 
07.
REM SICHERUNG 
08.
 
09.
net use Q: \\dc1\SRV0004 /persistent:no 
10.
If not exist "Q:\DATEV\%DOW%_Sicherung" mkdir "Q\DATEV\%DOW%_Sicherung" 
11.
xcopy "C:\DATEV" Q:\DATEV\%DOW%_Sicherung\ /c /d /e /h /i /k /q /r /s /x /y 
12.
net use Q: /delete 
13.
 
14.
 
15.
net start MSSQL$DATEV_DBENGINE 
16.
net start SQLAgent$DATEV_DBENGINE
Bitte warten ..
Mitglied: Pago159
LÖSUNG 26.03.2014, aktualisiert 31.03.2014
Hey Endoro,
das wäre zu einfach gewesen, den Sonntag an den Anfang zu setzen :-P ist aber natürlich eine bessere lösung

Lg Pago
Bitte warten ..
Mitglied: toksoy
27.03.2014 um 10:31 Uhr
Hallo Pago159,

vielen Lieben Dank für die schnelle und ausführliche ergebnis.
werde es gleich ausprobieren.

Mfg Toksoy
Bitte warten ..
Mitglied: toksoy
31.03.2014 um 09:52 Uhr
Gruß an alle,

also erstmals vielen Lieben Dank für die Hilfe !!

ich möchte auch mal das Ergebnis beitragen die ich ordnungsgemäß hinbekommen habe und zwar, (endlich) so wie es auch mein Vorgesetzte es möchte.

01.
 net stop MSSQL$DATEV_DBENGINE /y 
02.
 REM SICHERUNG 
03.
 net use Q: \\dc1\Datev /persistent:no 
04.
 SET "DOWs=MODIMIDOFRSASO" 
05.
 FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a*1 
06.
 CALL SET "DOW=%%DOWs:~%DayOfWeek%,2%%"  
07.
 xcopy "C:\Datev\*.*" "Q:\Datev\%DayofWeek%" /c /d /e /h /i /k /q /r /s /x /y 
08.
 net use Q: /delete /yes 
09.
 net start MSSQL$DATEV_DBENGINE 
10.
 net start SQLAgent$DATEV_DBENGINE
Bitte warten ..
Mitglied: Endoro
31.03.2014 um 12:29 Uhr
Hey, wenn du die Nummer des Wochentages als Ordnernamen nimmst, kannst du die Rechnungen mit "MODI..." weglassen:
01.
 net stop MSSQL$DATEV_DBENGINE /y 
02.
 REM SICHERUNG 
03.
 net use Q: \\dc1\Datev /persistent:no 
04.
 FOR /f %%a IN ('WMIC PATH Win32_LocalTime GET DayOfWeek^|FINDSTR [0-6]') DO SET /a DayOfWeek=%%a 
05.
 xcopy "C:\Datev\*" "Q:\Datev\%DayofWeek%" /c /d /e /h /i /k /q /r /s /x /y 
06.
 net use Q: /delete /yes 
07.
 net start MSSQL$DATEV_DBENGINE 
08.
 net start SQLAgent$DATEV_DBENGINE
Gruss, Endoro.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Xcopy Probleme (3)

Frage von GtaGamer zum Thema Batch & Shell ...

Batch & Shell
gelöst Xcopy Batch-Datei (3)

Frage von Lauchheimer zum Thema Batch & Shell ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...