Anti-Hibernate Python Skript WD Festplatte per esata

Status
Für weitere Antworten geschlossen.

Tom_G

Benutzer
Mitglied seit
02. Feb 2014
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Guten Tag,

nach vielfachem Studium dieses Forums zur Kaufentscheidung einer Synology Diskstation 412+ möchte ich jetzt zur Diskussion mit folgender Fragestellung beitragen.

Ich nutze die Diskstation mit Macs als zentrale Dateiablage. Da jedoch das ext4-Dateiformat im Schadensfall der NAS schwierig auszulesen ist (Linux Live CD funktioniert bei mir nicht komplikationsfrei am Mac), habe ich mich entschieden eine externe WD My Book Studio Edition II per esata Anschluss in HFS+ formatiert (Journaling über den Disk Utility Manager des Mac ausgeschaltet) zu verwenden und als Spiegelung der internen Platten zu nutzen. (Backup über Synology Datensicherung)

Wie viele leidgeprüfte Besitzer dieser externen Festplatte bereits feststellen mussten, versucht die WD jedoch eigenständig in den Ruhezustand zu gehen. Die DS weckt sich jedoch gleichzeitig minütlich wieder auf, sodass dies in ein dauerndes an/aus der WD mündet. Die Lösung für neuere Platten, die WD Smartware Applikation funktioniert für meine WD (noch) nicht.

Auf folgender Seite habe ich dann Abhilfe gefunden: http://bobhood.wordpress.com/2009/05/24/life-with-the-my-book-studio-edition-ii/


Es handelt sich um ein phyton-skript, welches die WD derart intelligent beschäftigen soll, dass sie nicht "einschläft".

Leider habe ich mangels Zeit und erheblicher Programmiermängel so meine Probleme der Anpassung des Skriptes auf meine Situation. Folgendes habe ich bisher probiert:

1) phyton auf der DS installiert (check)
2) hinreichend Dateien auf der WD, sodass das Skript genug "Futter" hat (check)
3) trotzdem die Anzahl der zu scannenden Dateien nach eigenem Dünken reduziert (check)
4) den Pfad der WD versucht zu ergoogeln und hoffentlich richtig eingesetzt (check?)
5) Im Aufgabenmanager unter benutzerdefiniertes Skript folgendes eingegeben
python /volume3/.../[Dateiname].py (gesamter Pfad u. Dateiname der unten inhaltlich angeführten .py Datei (check?)

Bleibt zu Fragen: wo ist der Fehler? (es läuft nicht, die Platte schläft weiter ein, keine Fehlermeldung in der DS)

Anbei noch das Skript, wie ich es auf Basis obiger Webseite angepasst habe:

Rich (BBCode):
#!/usr/local/bin/python

import os
import time
import random
import binascii

file_list = []

def path_visitor((files, max),thisdir,nameshere):
    if len(files) >= max:
        # remove all sub-folders from the list to stop any further search
        for name in nameshere:
            full_path = os.path.join(thisdir,name)
            if os.path.isdir(full_path):
                nameshere.remove(name)
        return

    for name in nameshere:
        full_path = os.path.join(thisdir,name)
        if not os.path.isdir(full_path):
            value = random.randint(0, 50000)
            if value >= 49000:
                files.append(full_path)

def calculate_crc32(file):
    crc = 0
    f = open(file, 'rb')
    data = 'bob'

    while len(data) != 0:
        data = f.read(1024*512)
        crc = binascii.crc32(data, crc)

    f.close()

    open('\volumeSATA1\satashare1-2\crc32.txt', 'w').write('0x%08x\n' % (crc & 0xffffffff))

def construct_file_list():
    global file_list

    file_list = []
    os.path.walk('\volumeSATA1\satashare1-2',path_visitor,(file_list, 1440))

random.seed()

while True:
    if (len(file_list) == 0) or (not os.path.exists(file_list[-1])):
        construct_file_list()

    time.sleep(60)

    calculate_crc32(file_list[-1])
    file_list.pop()

Ich werd wahnsinnig - hoffe auf Hilfe bevor dies eintritt.
Danke für eure Beiträge.

Tom
 
Details

Ok, das war vielleicht zu viel des Schlechten...;)

... fangen wir an mit einzelnen Details:

kann jemand den Pfad der esata Platte bestätigen?

Danke.

Tom
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat