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

Konkatenierten Pfad mit integiertem Symlink erstellen

Frage Entwicklung Perl

Mitglied: Maveric

Maveric (Level 1) - Jetzt verbinden

31.01.2013 um 11:25 Uhr, 1785 Aufrufe, 6 Kommentare

Moin zusammen,

ich stehe gerade vor folgendem Problem. Ich habe einen Server mit zwei Partitionen.
/part1 und /part2 zweitere ist so gut wie voll. 1% left...

Folgendes habe ich jetzt gemacht:

1. /part1/xxx/xxx/xxx/thumbs/ori/ -> rsync -av nach /part2/home/user/thumbs_ori
2. ori zu ori_old umbenannt
3. ln -s /part2/home/user/thumbs_ori ori - Also einen symlink mit dem namen des alten ordners auf die zweite partition gebaut.


So weit so gut das läuft... jetzt kommt das Problem.
Es läuft mindestens ein Perl Skript, welches in den Ordner
ori dateien und ordner anlegt, schreibt, löscht. Das Skript
crascht jetzt an folgender stellt.

viel code...

line 10: $pathori="/part1/xxx/xxx/xxx/thumbs/ori";

viel code...

line 50: mkpath("$pathori"."/$number", 1, 0711);

viel code...

Der Logfile output ist: mkdir /part1/xxx/xxx/xxx/thumbs/ori: Die Datei existiert bereits at line 50 im Skript


Wenn wer eine Idee hat, immer her damit. Mein erster Gedanke war: Das Kopieren hat 2h gedauert. In der Zeit hat er vermutlich weitere Dateien im Original Ordner angelegt und jetzt irgendwie ein Problem weil diese im neuen nicht mehr vorhanden sind. Würde es helfen jetzt noch mal ein rsyn zu machen von ori_old in den thumbs_ori Ordner? Und was macht er dann? Kopiert er nur die Änderungen oder alles und überschreibt alles noch mal?

Ich hatte noch die Vermutung das der symlink hart ersetzt wird und das dann sowas wie /part1/xxx/xxx/xxx/thumbs/part2/home/user/thumbs_ori daraus wird aber ich bin dafür zu sehr Anfänger.

Viele Grüße
Maveric
Mitglied: hmarkus
31.01.2013, aktualisiert um 13:34 Uhr
Hallo Maveric,

Zitat von Maveric:
...
line 10: $pathori="/part1/xxx/xxx/xxx/thumbs/ori";

viel code...

line 50: mkpath("$pathori"."/$number", 1, 0711);

viel code...

Der Logfile output ist: mkdir /part1/xxx/xxx/xxx/thumbs/ori: Die Datei existiert bereits at line 50 im Skript


Wenn wer eine Idee hat, immer her damit. Mein erster Gedanke war: Das Kopieren hat 2h gedauert. In der Zeit hat er vermutlich
weitere Dateien im Original Ordner angelegt und jetzt irgendwie ein Problem weil diese im neuen nicht mehr vorhanden sind.
Würde es helfen jetzt noch mal ein rsyn zu machen von ori_old in den thumbs_ori Ordner? Und was macht er dann? Kopiert er nur
die Änderungen oder alles und überschreibt alles noch mal?
Wie der Name schon sagt, rsync synchronisiert, das heißt, es werden nur die Dateien kopiert, die noch nicht am Zielort vorhanden sind.
rsync hat auch eine -z Option, dann werden die Dateien vor dem Kopieren komprimiert. Das bringt Geschwindigkeitsvorteile, allerdings nur, wenn sich die Dateien auch komprimieren lassen (bei Text besonders viel).

Ich hatte noch die Vermutung das der symlink hart ersetzt wird und das dann sowas wie
/part1/xxx/xxx/xxx/thumbs/part2/home/user/thumbs_ori daraus wird aber ich bin dafür zu sehr Anfänger.

Viele Grüße
Maveric
Was macht denn die Funktion mkpath genau? und wo kommt $number her?

Also der Link mit dem o.g. Befehl ist ein symbolischer Link.

Das Problem scheint zu sein, dass Du das Perlskript und rsync gleichzeitig laufen lässt. Du müsstest aber das Perlskript vorher anhalten. Anderenfalls müsstest Du in dem Perlskript implementieren, dass es testet ob eine Datei bereits vorhanden ist. Allerdings bringt es vermutlich nichts, für die vorliegende Aufgabe das Skript zu ändern (mit der Aussicht auf neue Fehler).

Markus
Bitte warten ..
Mitglied: Maveric
31.01.2013 um 13:37 Uhr
mkpath ist eine Perl Funktion und erstellt einen Pfad oder erweitert diesen.
In unserem Fall nimmt er /part1/xxx/xxx/xxx/thumbs/ori und erstellt in ori den Ordner XXX der über die variable $number gesetzt wird.
Das könnte dann zum beispiel so aussehen: /part1/xxx/xxx/xxx/thumbs/ori/1234/
In dem erstellten Ordner werden dann Daten abgelegt.

Den rsync habe ich manuell gemacht um die Daten zu verschieben/kopieren. Das Problem das beides gleichzeitig läuft gibt es also nicht. Das Perl Skript läuft alle 30min und aktualisiert die Ordner legt neue an usw.
Bitte warten ..
Mitglied: hmarkus
31.01.2013, aktualisiert um 13:57 Uhr
Zitat von Maveric:
...
Den rsync habe ich manuell gemacht um die Daten zu verschieben/kopieren. Das Problem das beides gleichzeitig läuft gibt es
also nicht. Das Perl Skript läuft alle 30min und aktualisiert die Ordner legt neue an usw.
Moment, das verstehe ich nicht. Wenn das Perlskript alle 30 Minuten läuft und der rsync-Vorgang zwei Stunden dauert, dann überschneiden die sich doch? oder habe ich das falsch verstanden?

Markus

Edit: Du kannst auch den rsync-Vorgang für die Zeit in der das Perlskript läuft jeweils anhalten und danach fortsetzen.
Bitte warten ..
Mitglied: Maveric
31.01.2013 um 19:23 Uhr
Das Kopieren der Daten hat 2 Stunden gedauert, das läuft nicht alle zwei Stunden
Bitte warten ..
Mitglied: hmarkus
31.01.2013 um 19:30 Uhr
Naja, das ist immer noch nicht verständlich, jedenfalls für mich. Während der zwei Stunden in denen die Daten kopiert wurden, müsste doch das Perlskript 4 mal gelaufen sein???
Bitte warten ..
Mitglied: Maveric
01.02.2013 um 15:25 Uhr
Zitat von hmarkus:
Naja, das ist immer noch nicht verständlich, jedenfalls für mich. Während der zwei Stunden in denen die Daten
kopiert wurden, müsste doch das Perlskript 4 mal gelaufen sein???

Wenn man das so sieht ja.

Ich habe den Fehler der weilen gefunden.
Was mir leider vorher nicht so ganz ersichtlich war
bzw. aufgefallen ist... das Skript wurde auf einem anderen
Server ausgeführt. Dementsprechend kannte das /home Verzeichnis nicht.
Gab jetzt zwei Möglichkeiten. Zum einen das Skript auf den Server
schieben, wo ich auch die Dateien verschoben habe oder die Verknüpfung
auf dem anderen Server anpassen. Ich habe Variante 1 gewählt weil der
Server eh noch Kapazitäten hatte.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
RedHat, CentOS, Fedora
gelöst Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste (2)

Frage von honeybee zum Thema RedHat, CentOS, Fedora ...

Vmware
ESXI Template erstellen (2)

Frage von Phill93 zum Thema Vmware ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...