XP Wie erhält man für 2 HDs im Wechselrahmen den gleichen LW-Buchstaben?

DonPedro

Lt. Commander
Mitglied seit
07.07.2005
Beiträge
143
Renomée
9
hallo!

ich möchte meine backups zur zusätzlichen sicherheit auf 2 medien sichern. die beiden typ- und baugleichen festplatten werden in einem icy-box wechselrahmen täglich ausgewechselt (in der früh vorm einschalten).

das verwendete rsync-backup-script verwendet dazu natürlich nur 1 laufwerksbuchstaben, also hier zb U:

das problem ist nun, daß windows der zweiten festplatte einen anderen lw-buchstaben zuordnet, also anscheinend erkennt, daß physisch ein anderes medium vorhanden ist, sich den zuvor vergebenen lw-buchstaben aber reserviert.

damit läuft natürlich das skript ins leere, weil das lw U: nicht mehr vorhanden ist.

wie kriege ich windows dazu, für beide festplatten den gleichen lw-buchstaben zu verwenden?

ich denke, daß das problem darin liegt, daß xp die festplatten als "fest"platten erkennt, sie aber zu meinem zweck als "wechsel"festplatten erkennen sollte (wie ja auch jede cd oder dvd oder floppy oder zip-disk stets den gleich lw-buchstaben erhält).

weiß wer rat?
 
Einmalig in der Datenträgerverwaltung den Buchstaben festlegen und schon sollte dieselbe Platte immer diesen Buchstaben bekommen. Aber es geht auch einfacher: Datei mit bestimmten Merkmalen auf dieses Laufwerk legen (beide Platten) und mit einer Schleife die Buchstaben durchlaufen. Wenn die Datei gefunden wurde, ist das richtige Laufwerk gefunden. Beispiel:
Code:
set DRIVES=D E F G H I J K L M N O P Q R S T U V W X Y Z

for %%i IN (%DRIVES%) DO (
  if exist %%i:\datei_mit_merkmal.txt set TARGET=%%i
)

REM -- ab hier dann weiter im Skript
echo %TARGET%
Alternativ kann man auch mit AutoIt das Laufwerk suchen und dann rsync aufrufen, und sicher gibt's noch mehr Möglichkeiten.

MfG Dalai
 
reicht es nicht der falschbenannten platte in der datenträgerverwaltung den richtigen laufwerksbuchstaben zuzuweisen?

start - ausführen - compmgmt.msc

da die andere platte abgesteckt ist sollte dieser frei sein

gruß g.
 
vielen dank für die antworten!

die vergabe eines "festen" lw-buchstabens über die datenträgerverwaltung funktioniert nicht, weil dann zwar die gerade aktuelle platte U: erhält, beim nächsten booten mit der anderen platte im wechselrahmen windows aber wiederum einen anderen lw-buchstaben zuteilt - ein ewiges spiel .....

der vorgeschlagene weg über die abfrage der existenz einer bestimmten datei sieht machbar aus, und wenn es keinen anderen weg gibt werde ich ihn gehen.

jedoch ist das nicht gerade die wirklich elegante lösung und verlangt danach, 2 skripte zu warten, verkompliziert die sache also - und ich möchte die sache so transparent wie möglich halten.

außerdem bin ich mir sicher, daß ich mit dieser problemstellung nicht allein bin: backups auf "wechsel"-festplatten ist sicher keine exotische backup-strategie und viele werden das problem mit dem lw-buchstaben wohl schon mal "richtig" gelöst haben.

ich habe dunkel im hinterkopf, daß dieses problem dadurch entsteht, daß speichermedien so eine art descriptor block besitzen, der vom bios/betriebssystem ausgelesen wird, damit zb xp weiß, ob eine usb-stick ein "removable" device ("hardware auswerfen") ist oder als "festplatte" fungiert. kann jemand mit diesem gedanken etwas anfangen und hat eine passende idee? ich glaube mich auch daran erinnern zu können, daß es ein tool gibt, mit dem man zb usb-sticks entsprechend einstellen kann, weiß aber keinen namen ...
 
vielleicht hilft auch
Code:
subst p: q:\
das weißt der physikalisch vorhandenen platt q: den buchstaben p: zu. Nutze ich immer für meine Acronis Backups auf Truecryptplatten die auch immer falsch eingehängt werden. Muss man aber ebenfalls immer per Hand ändern sobald sich der Mount von q: ändern sollte.

Gehts nicht die Platte einfach in einem NFTS-Ordner mit einzuhängen? Das mache ich mit einer externen auch so, diese ist unter c:\extern eingehängt und dort laufen ebenfalls Backups auf.
 
jkuehl,

subst kann ich mal testen, bin mir aber nicht sicher, ob hardlinks-technik (wird von rsync verwendet, mit ge-"subst"en lw funktioniert.

aber hat noch jemand DIE saubere lösung parat, also ohne tricks?
 
DonPedro schrieb:
ich glaube mich auch daran erinnern zu können, daß es ein tool gibt, mit dem man zb usb-sticks entsprechend einstellen kann, weiß aber keinen namen ...
Es gibt ein Tool namens USB DLM (Drive Letter Manager), mit dem man bei Wechseldatenträgern den Buchstaben erzwingen kann. Das nutzt dir aber für normale Festplatten nichts, denn dass die im Wechselrahmen sind, spielt nämlich keine Rolle.

Und wieso musst du 2 Skripte warten? Kann man doch in eines packen, oder nicht? Zum Anderen muss man doch an der Sucherei-Schleife nichts mehr ändern, wenn die fertig ist *noahnung*.

Subst wird dir übrigens nichts bringen, weil du gar nicht weißt, welchen Buchstaben die Festplatte denn nun bekommt. Du müsstest dafür sicherstellen, dass nie auch nur ein Laufwerk dazwischenkommt. Das mag für den Normalfall funktionieren, aber man denkt nicht dran und - schwups - ist die Sauerei komplett und man wundert sich, warum das Backup nicht funktioniert oder wo die Backupdaten sind (auf falsches Laufwerk kopiert).

MfG Dalai
 
dalai,

2 skripte deswegen, weil das rsync-script ein vbs-script ist, und ich nicht weiß, wie man dem skript einen variablen parameter wie den des ermittelten lw von außen übergibt und drinnen dann mit vollständiger pfadangabe zusammensetzt.

in dem von dir gegangenem weg über die ermittlung des lw steht also das gefundenen lw in der target-variable. wenn ich das nun zu einem vollständigen pfad zusammenbauen möchte, lautet dann zb die nächste zeile:
%target%==%target%:\rsyncbackup

ist das richtig?

und soeben fiel mir ein, daß es doch den von mir angedachten lösungsweg geben "muß", weil: wenn ich eine externe FESTplatte (über usb oder esata) an den rechner stopsle, dann entscheidet das betriebssystem ja auch, daß es eine WECHSELfestplatte ist, und dafür muß es eine entscheidungsgrundlage geben wie bei einem usb-stick (dem man ja auch unterschiedliche eigenschaften zuorden kann).
 
und soeben fiel mir ein, daß es doch den von mir angedachten lösungsweg geben "muß", weil: wenn ich eine externe FESTplatte (über usb oder esata) an den rechner stopsle, dann entscheidet das betriebssystem ja auch, daß es eine WECHSELfestplatte ist, und dafür muß es eine entscheidungsgrundlage geben wie bei einem usb-stick (dem man ja auch unterschiedliche eigenschaften zuorden kann).
Nein. Nur per USB angeschlossene Festplatten erscheinen als Wechseldatenträger, per eSATA aber als normale Platten, bei denen gibt es keinen Unterschied zu intern eingebauten.
 
DonPedro schrieb:
2 skripte deswegen, weil das rsync-script ein vbs-script ist, und ich nicht weiß, wie man dem skript einen variablen parameter wie den des ermittelten lw von außen übergibt und drinnen dann mit vollständiger pfadangabe zusammensetzt.
Dann übernimm halt die von mir gegebene Schleife in VBS - ich kenn mich damit nicht aus. Und ein Kommadozeilenparameter ändert ja auch nichts an der Tatsache der 2 Skripte. Dennoch: es dürfte kein Problem sein, im Internet zu finden, wie VBS solche Parameter übernimmt/einliest.

DonPedro schrieb:
in dem von dir gegangenem weg über die ermittlung des lw steht also das gefundenen lw in der target-variable. wenn ich das nun zu einem vollständigen pfad zusammenbauen möchte, lautet dann zb die nächste zeile:
%target%==%target%:\rsyncbackup

ist das richtig?
Nein.
Code:
set target=%target%:\rsyncbackup
Aber es würde genügen, wenn du das Laufwerk übergibst. Denn was willst du jetzt mit dem Zielpfad? Willst du das VBS nochmal in CMD implementieren? Kann man auch machen, je nachdem, wie umfangreich das existierende Skript ist.

MfG Dalai
 
also ich muß mich hier doch mehr erklären:

ich habe keine ahnung von vbs-programmierung. ich benutze fürs inkrementelle backup bei "gleichzeitiger vollsicherung" das skript rsync-backup, welches von der zeitschrift c't vor 2-3 jahren veröffentlicht wurde ("gleichzeitige vollsicherung": weil einsatz von hardlinks). innerhalb dieses vbs-skripts sind nur die zu sichernden pfade einzutragen, sowiei auch der pfad wo die backups abgelegt werden sollen.

ich sehe nun 2 möglichkeiten wie ich mein problem löse:

1) ich verwende das vorgeschlagene cmd-skript um herauszufinden, welche wechselfestplatte unter welchem lw-buchstaben installiert ist und starte daraufhin eines von 2 vbs-skripten, welche entsprechend "hard-coded" angepaßt wurden. problem: wartung von 2 skripten

2) ich finde heraus wie man aus dem cmd-skript die target-variable an das EINE vbs-skript übergibt. diese variante wäre die beste unter den umständen.

weiß jemand ein forum, in dem über vbs diskutiert wird?
 
Ah, jetzt verstehe ich es :).

DonPedro schrieb:
1) ich verwende das vorgeschlagene cmd-skript um herauszufinden, welche wechselfestplatte unter welchem lw-buchstaben installiert ist und starte daraufhin eines von 2 vbs-skripten, welche entsprechend "hard-coded" angepaßt wurden. problem: wartung von 2 skripten
Na wenn dann macht man das richtig und das heißt: dynamisch. Hardcodiert sollte man sich gar nicht erst angewöhnen, weil einem das sehr viel später, aber dann umso härter, auf die Füße fällt!

Also habe ich mal etwas gegooglet und dies gefunden:
WScript.Arguments(0) enthält das erste Kommandozeile-Argument
Also kannst du einfach dies in dem VBS ergänzen:
Code:
set argument=WScript.Arguments(0)
Natürlich musst du dann noch die Variable argument in dem zu sichernden Pfad benutzen. Zum Anderen sollte man noch prüfen, ob überhaupt ein Parameter angegeben wurde und abbrechen, falls dem nicht so ist. Aber dafür habe ich eben zu wenig Ahnung von VBS.

MfG Dalai
 
Zurück
Oben Unten