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, 1796 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
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Exchange Server
gelöst Exchange 2013 dynamische verteilerliste mit mehreren recipientfiltern erstellen (8)

Frage von blackhawk17 zum Thema Exchange Server ...

Switche und Hubs
HP Aruba 2920 ACCESS-LIST erstellen? (8)

Frage von Henning32 zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...