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 Dupes mit anderem Dateinamen finden und in "HardLinks" umwandeln (W2k12R2, NTFS)

Mitglied: FA-jka

FA-jka (Level 3) - Jetzt verbinden

20.11.2014, aktualisiert 10:13 Uhr, 1366 Aufrufe, 6 Kommentare, 1 Danke

Ich war gestern bei einem Architekten. Auf seinem Filer liegen tausende von Fotos. Es gibt viele Fotos, die doppelt (dreifach, vierfach) unter unterschiedlichen Dateinamen in verschiedenen Ordnern liegen.

Was er sich vorstellt:
- die Dupes finden
- die Dupes durch eine Art "Hardlink" zu ersetzen

Unter Linux ließe sich so etwas meines Erachtens nach schnell basteln. Aber sein neuer Filer wird definitiv ein SBS2012R2 und ein zweiter Server kommt absolut nicht in die Tüte (auch nicht als VM).

Mit dem Argument, dass Speicherplatz heutzutage nichts mehr kostet, konnte ich Ihn auch nicht ködern (Monk...) ---> Tonne.

Ich habe mir auch schon überlegt, eine Datenbank zu etablieren, bei der er die Informationen aus den Datennamen in den Index reinklötert. Allerdings besteht das Problem, dass in den Dateinamen META-Informationen stehen, die an anderer Stelle (beim Empfänger) ausgewertet werden. Sprich - ich würde damit bei knapp 1000 Geschäftspartnern "in den Prozessen rühren". Man könnte zwar etwas "richtig Geiles" mit einer Exportfunktion bauen, allerdings ist das Budget begrenzt ---> Tonne.

Gibt es irgendeine günstige und knackige Lösung, mit dem ich ihn "verarzten" kann?
Mitglied: Bl0ckS1z3
20.11.2014 um 09:59 Uhr
Hallo FA-jka,

ein Tool was Deine Anforderungen umsetzt kenne ich nicht, würde ich aber auch gerne haben.

Eine alternative Lösung wäre es das Filesystem als Deduplicationsspeicher einzurichten. Die Deduplication ist in Windows 2012 integriert und muss nur als Rolle hinzugefügt werden.

Werden die Daten auf dem Filesystem dedupliziert ist es egal, wie oft man das Bild oder die Datei abspeichert, Da die Dedup blockweise funktioniert, wird jeder Block nur einmal abgespeichert, Das löst zwar nicht das Problem, der "Unordnung" im Filesystem , aber das Speicherproblem.
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 20.11.2014, aktualisiert um 10:15 Uhr
Zitat von FA-jka:

Unter Linux ließe sich so etwas meines Erachtens nach schnell basteln.

Moin,

fdupes wäre da das Mittel der Wahl.

Aber sein neuer Filer wird definitiv ein SBS2012R2
und ein zweiter Server kommt absolut nicht in die Tüte (auch nicht als VM).

Einfach fdupes an Windows anpassen. Sollte da genausogut funktionieren.


lks

PS: Man könnte das eigentlch recht einfach selbst per skript bewerkstelligen:

  • Einen index mit hashwerten (md5, sha1, sha256, o.a.) der Dateien in den betroffenen Ordnern aufbauen.
  • Bei gleichen hashes die dazugehörigen Dateien byteweise vergleichen.
  • Sind die dateien gleich, einfach hard verlinken.

Sollte eigentlich relativ schnell "zusammengestoppelt" sein.
Bitte warten ..
Mitglied: FA-jka
20.11.2014 um 10:13 Uhr
"Einfach"

Danke!^^
Bitte warten ..
Mitglied: colinardo
LÖSUNG 20.11.2014, aktualisiert um 14:03 Uhr
Moin FA-jka,
Zitat von FA-jka:
"Einfach"
hier mal schnell sowas mit Powershell "zusammengeschrotet" und grob angetestet (Ausprobieren erfolgt auf eigene Gefahr) :

Aufruf erfolgt dann so:
powershell.exe -File "C:\replace_duplicates_with_hardlinks.ps1" "D:\Datenpfad"
replace_duplicates_with_hardlinks.ps1
01.
param( 
02.
    [parameter(mandatory=$true)][string]$dir 
03.
04.
 
05.
# function calculate MD5 hash of file object 
06.
function md5([System.IO.FileInfo]$fileobj){ 
07.
    $md5 = [System.Security.Cryptography.MD5]::Create() 
08.
    Try{ 
09.
        $stream = $fileobj.OpenRead() 
10.
        $hash = [System.BitConverter]::ToString($md5.ComputeHash($stream)) 
11.
        $stream.Close();$stream.Dispose();$md5.Dispose() 
12.
        return $hash 
13.
    }catch{ 
14.
        write-host "Error: $($_.Exception.Message)" 
15.
        return $false 
16.
17.
18.
 
19.
# function to create new hardlink 
20.
function New-HardLink { 
21.
    param 
22.
23.
        [Parameter(Mandatory=$true)]$originalfile, 
24.
        [Parameter(Mandatory=$true)]$mirrorfile 
25.
26.
    $code = ' 
27.
            [DllImport("Kernel32.dll")] 
28.
            public static extern bool CreateHardLink(string lpFileName,string lpExistingFileName,IntPtr lpSecurityAttributes); 
29.
30.
    Add-Type -MemberDefinition $code -Name Links -Namespace Utils  
31.
    [Utils.Links]::CreateHardLink($mirrorfile,$originalfile,[IntPtr]::Zero) 
32.
}  
33.
 
34.
 
35.
$files = dir $dir -Recurse | ?{!$_.PSIscontainer} 
36.
$hashes = @() 
37.
 
38.
# Create Hashes of files 
39.
write-host "Hashing der Dateien gestartet..." 
40.
foreach($file in $files){ 
41.
    $md5hash = md5 $file 
42.
    $hashes += new-object PSObject -Property @{"FileObject"=$file;"Hash"=$md5hash} 
43.
44.
 
45.
# select equal hashes with count greater 1 
46.
$hashes | group Hash | ?{$_.Count -gt 1} | %{ 
47.
    # select files with same LastWriteTime in Hashgroup 
48.
    $dupes = $_.Group.FileObject | group LastWriteTime | ?{$_.Count -gt 1} | select Group 
49.
    $dupes | %{ 
50.
        $original = $_.Group | select -Expand Fullname -First 1 
51.
        $additional = $_.Group | select -Expand Fullname -Skip 1 
52.
        $additional | %{ 
53.
            # delete duplicate 
54.
            remove-item $_ -Force 
55.
            write-host "Ersetze '$_' durch einen Hardlink auf '$original'" -ForegroundColor Cyan 
56.
            # create hardlink for duplicate 
57.
            New-HardLink $original $_ | out-null 
58.
59.
60.
}
p.s. Die Hashing-Function kann man ab PS 4.0 auch durch das CMDlet Get-FileHash ersetzen, hab's hier nur für ältere PS-Versionen kompatibel gemacht.

Viel Spaß
Grüße Uwe
Bitte warten ..
Mitglied: FA-jka
20.11.2014 um 14:03 Uhr
Ziemlich geil! Vor allem kann ich das Teil noch gut für andere Dinge gebrauchen *gerade mal so feststell*

1000 Dank!
Bitte warten ..
Mitglied: Lochkartenstanzer
20.11.2014 um 15:19 Uhr
Zitat von colinardo:

Moin FA-jka,
> Zitat von FA-jka:
> "Einfach"
hier mal schnell sowas mit Powershell "zusammengeschrotet" und grob angetestet (Ausprobieren erfolgt auf eigene
Gefahr)
:

Hallo Uwe,

ich bewundere, wieviel Energie Du in "fertige" Lösungen steckst, wo ich nur "Übungsaufgaben" hinschreibe. Chapeau.

lks
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Finden von (fast) gleichen Dateinamen, Ändern von Dateinamen

gelöst Frage von internet2107Batch & Shell8 Kommentare

Ich habe leider mal wieder eine etwas knifflige Sache. Aktuell suche ich in Verzeichnissen nach Dateien mit gleichen Namen ...

Batch & Shell

Linux: wie finde ich "unmögliche" zeichen in dateinamen?

gelöst Frage von klausphBatch & Shell5 Kommentare

guten tag nach stundenlangen studium von "dem kofler" und anderen grundlagenwerken weiss ich nicht weiter. es geht um folgendes: ...

Windows Server

W2k12r2 lizenzen

gelöst Frage von oversizzedWindows Server3 Kommentare

Hallo, kurze Frage bezüglich Lics. Wir sind gerade dabei auf w2k12r2 umzuziehen. Wir haben 2 HV-Hosts auf denen jeweils ...

LAN, WAN, Wireless

Icmp DUP! replies

Frage von fabi186LAN, WAN, Wireless5 Kommentare

Hallo zusammen, ich habe seit kurzem das Problem, dass ein Drucker nicht mehr zuverlässig druckt und oft die Netzwerkverbindung ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 6 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 12 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server24 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...