Top-Themen

Aktuelle Themen (A bis Z)

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

For R Such-Richtung umgekehrt?!

Frage Entwicklung Batch & Shell

Mitglied: manufactum

manufactum (Level 1) - Jetzt verbinden

08.02.2010 um 10:21 Uhr, 3144 Aufrufe, 4 Kommentare

Hallo Admins,

ich habe mir ein Batch-Skript geschrieben, daß mit Drivesnapshot täglich Backups unseres Servers erstellt. Alle 7 Tage wird ein Vollbackup erstellt, dazwischen inkrementelle. Das Skript löscht automatisch nach 14 Tagen die Backups der vorletzten Woche.

Um die inkrementellen Backups immer vom aktuellsten Vollbackup zu erstellen soll es sich jeweils das aktuellste Hashfile dazu aus den Base-Ordnern suchen.

Ordnerstruktur:

server2_C\
2010-01-31-base
2010-02-01
2010-02-02
2010-02-03
2010-02-04
2010-02-05
2010-02-06
2010-02-07-base
2010-02-08
usw. max 14

Diese Zeile hat dafür bisher immer wunderbar funktioniert:

for /R "%SnapshotsBaseDir%\server2_%vol1%" %%f in (full.hsh*) do set LastHashFile=%%f

echo Gewähltes Hashfile: %LastHashFile% >"c:\skripte\test.log"

Seit neuestem durchsucht das Skript aber reproduzierbar den Ordner nicht mehr aufsteigend, sondern absteigend. D.h. die Varibale "LastHashFile" hat als Inhalt zuletzt das ältere Hashfile.

Auf einem anderen Rechner, in einer Testumgebung, funktioniert die Zeile tadellos...

Meine Fragen nun: Woher kommt die Suchrichtungsänderung? Und wie ändere ich die wieder?

Vielen Dank für Eure Hilfe!!
Mitglied: Biber
08.02.2010 um 10:49 Uhr
Moin manufactum,

willkommen im Forum.
Die FOR /R-Anweisung durchsucht meines Wissens zwar rekursiv einen Verzeichnisbaum, aber nicht in einer gewährleisteten Reihenfolge.
Wenn es also vorher "eigentlich immer" gepasst hat... Zufall, Schicksal, aber auf jeden Fall nicht einklagbar.

Ich sehe zwei (oder gar drei) Strategien, wie du dein Ziel erreichen kannst, je nach vorliegenden Rahmenbedingungen:

  • falls die Ordner jeweils direkt bei der Sicherung/am tag der Sicherung angelegt werden, dann kannst du das Alter (bzw. die Reihenfolge der Ordner) aus dem "DIR /TC -Erstellungsdatum ermitteln. Wenn denn im jüngsten Ordner auch das jüngste Hash-File ist

  • wenn das Anlegen der Ordner NICHT jeweils am Tag der Sicherung erfolgt, aber die Namenskonvention wie oben durchgängig eingehalten wurde, dann kannst du auch aus den Dateinamen das älteste/jüngste Unterverzeichnis ermitteln- wieder gilt: wenn denn auch im jünsten Verzeichnis das gesuchte Hashfile ist.

  • falls das jüngste und gesuchte Hashfile "irgendwo" in dieser Struktur liegt und wirklich nur daran erkennbar ist, dass es halt das jüngste von allen ist......dann musst/kannst du dem FOR /R -die Wahl der Reihenfolge überlassen, denn dann musst du ja ohnehin vom ersten bis zum letzten gefundenen Hashfile vergleichen "Hat das ein Datum größer als das bisher bekannte Jüngste)

Falls es der Fall 3 ist -hashfile ist irgendwo- dann wäre noch wichtig zu wissen, wieviel zeitlicher Abstand zwischen den Datei-Datumswerten der hashfiles üblicherweise liegt. Per Batch-Datumsvergleich kannst du normalerweise nur auf Stunden/Minuten-Genauigkeit gehen,; wenn Sekunden relevant sind, dann sollte der Datumsverglich mit VBScript erfolgen.

Grüße
Biber
Bitte warten ..
Mitglied: manufactum
08.02.2010 um 12:26 Uhr
Hallo Biber,

danke für Deine Antwort.

Strategie Nr.1 erscheint mir am praktikabelsten. Habe das mal so versucht:

for /f "skip=7" %%i in ('dir /b /on /ad "%SnapshotsBaseDir%\server2_%vol1%\20*"') do for /R %%i %%f in (full.hsh*) do set LastHashFile=%%f

Beim "dir"-Befehl gibt es sicher mehrere mögliche Wege. Die Ordner sind alphabetisch geordnet und jeder Ordner wird bei der Sicherung durch das Skript erstellt.

Irgendwie klappt die Verknüpfung von "erst ordnen" dann "suchen und Variable festlegen" aber noch nicht. Weißt Du eine Lösung?

Vielen Dank für Vorschläge!!
Bitte warten ..
Mitglied: Biber
08.02.2010 um 12:46 Uhr
Moin manufactum,

warum hast du denn den Ehrgeiz, diese 2 Befehle in eine zeile zu trümmern?

Der DIR-Befehl kennt auch einen Schalter /B wie /Billich.
Damit bekommst du - in Verbindung mit der Sortierung nach Namen oder Datum ) nur die Ordnernamen in der Verzeichnisebene "%SnapshotsBaseDir%\server2_%vol1%\20*" heraus (ohne Vorspann, ohne Summenzeile... einfach nur 11 Zeilen für 11 Ordner)
Kannst dir also das "skip=7" sparen.

Wenn du die Ausgabe dieser sortierten Liste mit einem FOR/F-Befehl durchläufst, dann gilt auch hie "Okay, ich merke mir jeden Ordnernamen mit "SET letzter=%%i".
Bei geschickter sortierung ist dann der letzte der Liste auch der ....jüngste/alphabetisch kleinste oder was immer du auswertest.

Und NUR in diesem gefundenen Ordner %letzter% brauchst du doch ein FOR/R- rekursives Durchwackeln machen... nicht in allen Ordnern.

Bitte versuche es erstmal anhand der Hinweise, auf die zwei Schritte umzustellen.
Sollte es klemmen... Hilfe steht hier immer bereit.

Grüße
Biber
Bitte warten ..
Mitglied: manufactum
08.02.2010 um 14:17 Uhr
Hallo Biber,

die gesuchten Hash-Dateien "full.hsh" befinden sich ausschließlich in den "*-base"-Ordnern.

for /f %%i in ('dir /b /ad /on "%SnapshotsBaseDir%\server2_%vol1%\*-base"') do set letzter=%%i

set LastHashFile="%SnapshotsBaseDir%\server2_%vol1%\%letzter%\full.hsh"

So hat es jetzt funktioniert! Den "dir"-Befehl kann man vielleicht noch vereinfachen.

Danke Dir für Deine Hilfe.

Grüße
manufactum
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Exchange Absenderfilterung umgekehrt
gelöst Frage von schicksalExchange Server4 Kommentare

Hallo Admins, wir werden seit neuestem an unserem Exchange 2010 mit Spam von neuen Domainendungen belästigt. (.date, .xyz,) Ich ...

Netzwerke
DFS Repliziert nur in eine Richtung
Frage von bolle01Netzwerke1 Kommentar

Moin, nach einem Serverausfall ist aufgefallen dass die Replikation nur noch bedingt funktioniert. Die Leute die auf das Gruppenlaufwerk ...

Cloud-Dienste
OwnCloud - Synchron. Richtung?
gelöst Frage von InvisibleQuantumCloud-Dienste6 Kommentare

Hay, ich hab mir aber auf meinem Raspi3 ownCloud eingerichtet und alles läuft soweit. Meine Frage: Es werden ja ...

LAN, WAN, Wireless
PPTP Routing in einer Richtung
Frage von Sukram78LAN, WAN, Wireless2 Kommentare

Hallo Leute, ich bin neu hier in diesem Forum. Nun, habe ich ein Problem mit PPTP Routing. Und zwar ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...