Bestanden terugplaatsen uit back-up

Status
Niet open voor verdere reacties.

DeGekkerIctMeneer

Nieuwe gebruiker
Lid geworden
10 okt 2016
Berichten
1
Beste,

Ik heb te maken gehad met een crypto op mijn server. Nu heb ik verschillende bestanden terug kunnen plaatsen uit een back-up omdat deze te herkennen waren aan de .enc extensie.
Echter is er een share waarin de beschadigde bestanden alleen te herkennen zijn aan de gewijzigde tijd.

De folders zijn in de back-up en in de doelshare het zelfde in gedeeld: \0\0\0, \0\0\1, \0\0\2 en en zo door tot \9\9\9.

Mijn vraag is als volgend:

Ik heb geen zin om alle mappen na te lopen en de bestanden die op 07-08-2016 tussen 03.04 en 03.18 aangepast zijn handmatig te kopiëren zoals ik dit in het verleden wel deed.
Is er een manier om dit te automatiseren?


Bij voorbaat dank :)
 
Lijkt me ******* handig dat je vermeldt hoe die backups zijn opgeslagen, in de sfeer van:
a. Een monolitisch backup-bestand (denk aan Acronis) waar je (alleen) in het backup programma zélf de bestanden/mappen kunt aangeven voor terugzetten/restoren.
b. Een kopie van de mappenstructuur op een extern opslagmedium, bijv. gemaakt met Verkenner.

Ik zie namelijk alleen bij optie b. een mogelijkheid om het "geautomatiseerd" te doen, niet bij optie a., tenzij die iets te "voederen" zou zijn (=een bestandslijst) van wat er teruggeplaatst moet worden (en waarheen) [batch-verwerking met input-bestand].

Alvast: Een tekst-lijst maken met alle bestanden die in de aangegeven periode zijn gewijzigd kan bijv. via Bulk Rename, waarbij de portable versie genoeg is om te gebruiken.
Start het programma, maximaliseer 'm, kies in het linker vak de juiste hoofdmap waar die \0\0\0 etc. mappen onder staan en zet in "Filters (12)" uitsluitend de opties Files en Subfolders aan.
Sorteer dan de uitvoer (vak rechts boven) op kolom Modified (=wijzigingsdatum).
Zoek de bestanden die in de aangegeven periode zijn gewijzigd, maak dat een selectie (zodat de bestanden blauw zijn gekleurd in Bulk Rename), rechtsklik op die selectie en kies Clipboard copy -> Pathname + Ext.
Je kunt dan in (bijv.) Kladblok de inhoud van het klembord plakken, en zo heb je de lijst van bestanden (incl. mapnaam) die je moet laten overschrijven door een kopie uit de backup.
Het programma Bulk Rename dan afsluiten zonder het programma iets te laten doen (gewoon afsluiten, dus in dat programma verder nergens op klikken etc.)

Wil je dat terugzetten automatiseren, dan kun je m.b.v. een macro in een programmeerbare editor (zoals MicroEmacs (*)) een batch-bestand maken. Evt. kan ik je daar wel mee helpen, als ik die bestandenlijst heb én je erbij vermeld waar de basis-map van de backup staat.

Als voorbeeld heb ik in mijn mappenstructuur via Bulk Rename onder Mijn Documenten de bestanden opgezocht die een wijzigingsdatum hebben van januari 1998 t/m mei 1998:
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt
C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt

Met MicroEmacs en een backup-locatie van E:\Mijn Documenten als basis-map zou de batch-file er dan zo uitzien:
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\snap\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\roms\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\samples\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\hi\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\cfg\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\inp\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\artwork\dir.txt"
copy "E:\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt" "C:\Documents and Settings\tijs\Mijn documenten\Downloads\Pinball\vpinmame_23\memcard\dir.txt"

MicroEmacs macro voor deze verwerking ziet er zo uit (met de tekst met bestandsnamen geplakt in MicroEmacs, via Edit -> Clipboard -> Paste of een tekst-bestand geopend met die inhoud, macro in een aparte buffer):
Code:
beginning-of-file				; naar het begin van het bestand
!while &not &seq $line ""			; zolang niet op een lege regel, dus zolang nog niet aan het einde van het bestand
	insert-string "~""			; voeg dubbele quotes toe het begin van de regel/bestandspad
	end-of-line				; naar einde regel
	insert-string "~""			; voeg dubbele quotes toe aan einde van de regel/bestandspad
	set-mark				; zet MicroEmacs regiomarkering
	search-reverse "\Mijn Documenten\"	; zoek teruguit het onderscheidende begin van de padnaam
	copy-region				; kopieer de regio naar het MicroEmacs klembord
	beginning-of-line			; naar begin regel
	insert-string "copy ~"E:"		; voeg het copy commando + het onderscheidende deel van de BACKUP-locatie toe
	yank					; voeg de regio toe vanuit het MicroEmacs klembord
	insert-string " "			; scheid bron van kopieeractie en bestemming met een spatie
	beginning-of-line			; naar het begin van de regel
	next-line				; naar de volgende regel, dus gereed voor de verwerking van die volgende regel
!endwhile

(*) Microemacs binaries download je hier ("uemacs 4.04 for Windows NT (Intel) GUI", download de exe versie)
Volledige handleiding (pdf): hier
Quick reference: hier
Basis-tutorial: hier

Tijs.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan