Hallo,
ich mache derzeit ein Praktikum als IT-Kaufmann in dem ich mich mit der Datensicherung von Linux beschäftige. Da uns in der Umschulung im Unterricht nur die nötigsten Grundbefehle beigebracht wurden komme ich da mit einer Sache nicht so ganz zurecht. Vielleicht kann mir ja einer von euch netterweise helfen?
Nun zu meinem Problem. Ich hab unter Linux ein Sicherungsscript erstellt dass die normalen Verzeichnisse also z.B. /etc,/proc,/lib etc. in tar - Archive packt und ein entsprechendes Entpackungsscript. Hab dann Samba und smbclient installiert. Und auf einem zweiten Rechner auf den ich mittels Data - Switch umschalten kann unter Windows NT auf dem Laufwerk d: eine Freigabe namens LinuxBackup eingerichtet und soll nun die einzelnen tar- Archive unter Suse Linux unter diese Windows NT - Freigabe transportieren. Hat da jemand eine Idee wie dies funktionieren könnte? Über eine Antwort würde ich mich sehr freuen. Vielen Dank im voraus
Harald
Linux 15.036 Themen, 107.107 Beiträge
mounte die freigabe in den linux-verzeichnisbaum und schiebe dann die daten rüber:
mount -t smbfs -o username=xxx,password=xxx,etc //winntrechner/linuxbackup /mnt/backup
anschliessend
cp backup.tar /mnt/backup/
schon liegt das zeugst auf nt.
achtung, so sind natürlich username und passwort im klartext lesbar! für weiter mountoptionen gibt's man mount zu lesen ;-)
Hallo Mic,
vielen Dank für Deine nette und schnelle Antwort und die ausführliche Beschreibung die Du mir netterweise hast zukommen lassen. Kann ich echt gut gebrauchen. Hätte Da nur noch eine Frage an Dich und hoffe ich nerve dich nicht allzu sehr und zwar folgendes: Wenn ich so wie Du mir netterweise hast zukommen lassen vorgehe ist aber doch weiterhin Linux auf dem zweiten Rechner auf dem ich Linux habe lauffähig und läuft dort weiter oder? Dies wäre schon ziemlich wichtig zu wissen. Kenn mich leider noch nicht so gut in Linux aus, sorry. Übrigens entschuldige bitte dass ich jetzt dazu komme dir zu antworten und mich zu bedanken aber zu Hause habe ich leider noch keinen Internetanschluss und konnte dir von daher erst heute morgen aus dem Büro antworten.
Vielen Dank nochmals und viele Grüße
Harald
Hallo,
die Antwort von the_mic ist die eigentlich korrekte Methode für solche Spielchen.
Ausgesprochen ausführlich beschrieben.
Mit dieser Methode kann man nämlich auch ein kleines script schreiben, das das automatisch macht. Wenn man das Script dann noch in den Cron-job einträgt, kann werden die Daten automatisch jeden Tag, jede Woche sooft man halt will gesichert.
Von Hand kann man das ganze auch mit dem Programm Xsmbrowser machen.
Ist sehr komfortabel und auf den Suse Cds enthalten. (erinnert an die Netzwerkumgebung unter Win).
HTH
Bis denne
poly
p.s.: Samba musst Du nicht installiert haben, wenn der Datenweg Linux => NT ist. Nur wenn der Datenweg NT => Linux ist, braucht man samba. Allerdings braucht man auch für den Clienten das Packet samba-common
Hallo Poly,
vielen Dank für Deine Antwort vom Freitag, da ich lediglich derzeit im Büro einen Rechner mit Internetanschluss und somit auch nur von hier aus auf die Antworten auf meinen Aushang bei nickles.de zugreifen kann komme ich erst heute dazu Deine Antwort zu lesen und zu antworten. Meine Aufgabe besteht tatsächlich darin ein entsprechendes Skript oder besser zwei, denn genaugenommen sollen die einzelnen Verzeichnisse, die ich bereits in meinem Aushang erwähnte zuerst unter Laufwerk d: und dort unter die Freigabe LinuxBackup und dann später natürlich bei Bedarf entsprechend wieder von Windows NT auf Linux zurückgespielt werden können. Wenn ich dich richtig verstanden habe brauche ich dazu nur die entsprechenden Befehle , die mir mic bereits hat zukommen lassen in ein Skript zu packen und schon läufts oder wie funktiert dies? Tut mir leid das ich vielleicht ein wenig nerve, aber ausser ein paar Grundbegriffen wie passwd, mkdir,rm, rmdir und shutdown ist uns leider sonst so gut wie nichts im Umschulunterricht über Linux beigebracht worden, ist dann teilweise ziemlich heavy mit sowenig Background mit so ner Aufgabe klar zu kommen . Entschuldigt bitte. Dann meintest Du noch dass man mit dem cronjob dann so was in bestimmten selbst zu bestimmenden Zeitabständen wiederholen könnte? Leider sagt mir dass mit dem cronjob noch nichts kannst du mir da vielleicht netterweise eine kleine Anleitung zu kommen lassen wie man mit diesem arbeitet. Wäre spitze! Auf jeden Fall schon mal vielen Dank für Deine Antwort.
Bis dann vielleicht
Gruß
Harald
Hi Harald,
extra mounten brauchst Du die Freigabe nicht. Der Upload funktioniert auch direkt mit dem Samba-Client.
Um eine einzelne Datei zu kopieren geht das mit dem smbclient-Befehl 'put' (Der nach dem Argument -c übergeben wird).
Beispielsweise kannst Du mit
> smbclient //server/freigabe passwort -U benutzername -c "put /tmp/archiv.tgz"
die Datei /tmp/archiv.tgz in die Freigabe 'freigabe' kopieren.
Für mehrere Dateien kannst Du dem Befehl 'mput' eine Maske übergeben.
> smbclient //server/freigabe passwort -U benutzername -c "mput /tmp/*.tgz"
kopiert dann beispielsweise alle *.tgz aus dem /tmp Verzeichnis.
Das Ergebnis ist aber das Selbe, wie bei dem neumodischen smbmount-Kram ;-)
Eine weitere Hilfe wird dir dabei sicherlich die man-Page von smbclient sein
Gruß
Ralf
Hallo Ralf,
vielen Dank für Deine Antwort. Ich habe deinen Ratschlag befolgt und hat auch fast alles funktioniert, ausser das ich leider am Schluss die
Fehlermeldung session setup failed: ERRDOS -ERRNOACCESS (Access denied) erhielt. Kann dies daran liegen dass ich von Root aus diesen Befehl nicht für einen Benutzer anwenden darf oder vielleicht daran, dass bei mir benutzername und passwort auf meinem hier vorhandenen "Proberechner" identisch sind oder hast Du vielleicht noch eine andere Idee. Wäre echt spitze wenn Du mir nochmals eine kurze Antwort zu kommen lassen könntest. Da dein Vorschlag bisher als einzigster bei meinen bisherigen Probeversuchen auch so halbwegs funktioniert hat, was mit Sicherheit an meinen bisherigen eher bescheidenen Linux - Kenntnissen liegt. Entschuldige bitte dass ich erst jetzt antworte da ich nur im Büro einen Internetanschluss habe. Vielen Dank für Deine Antwort.
Vielleicht bis dann
Gruß
Harald
Moin Harald,
die Fehlermeldung sagt aus, dass Du keine Zugriffsrechte auf die Server-Freigabe hast. Das hat nix mit dem aktuellen Linux-Account zu tun mit dem Du den Befehl aufrufst, sondern mit dem NT-Benutzer, den Du smbclient übergibst.
Schau mal nach, ob Du mit dem verwendeten NT-Benutzer auch Schreibrechte auf die NT-Freigabe hast und hör auf Dich zu entschuldigen ;-)
Gruß
Ralf
BTW: Was mir gerade auffällt, ist, daß Du /proc sichern willst. Das willst Du nicht wirklich! Der Inhalt von /proc wird bei jedem Neustart des Rechners vom Kernel dynamisch generiert. Ist also sinnlos das zu sichern.
Hallo Ralf,
hab gerade unter Windows NT nachgeschaut und hab festgestellt dass ich normalerweise
komplette Zugriffsrechte haben müsste (bei schreibgeschützt war jedenfalls kein Haken).
Vielleicht habe ich ja einen Fehler bei der Eingabe des smbclients - Befehls gemacht. Weiss dies nicht genau. Darum gebe ich ihn dir kurz mal so an wie ich ihn abgesetzt habe , vielleicht fällt dir ja was daran auf:
smbclient //WOLGK0927/d:\BackupLinux thelenh1 -U olg\harald -c "put linux /backup*.tar"
Danke
bis dann
Gruß
Harald
Harald,
also erstmal solltest Du es vermeiden Passwörter im Klartext irgendwo zu veröffentlichen.
Zum Befehl:
Wenn 'thelenh1' Dein Passwort und 'harald' Dein Benutzername sind und die Archiv-Dateien backup*.tar heissen, würde das so aussehen
# smbclient //WOLGK0927/BackupLinux thelenh1 -U harald -c "prompt off; mput backup*.tar"
'prompt off' bewirkt, dass Du nicht jedes mal bestätigen musst, wenn eine Datei kopiert werden soll.
Aufrufen musst Du das ganze dann aus dem Verzeichnis, in dem die backup*.tar liegen.
Gruß
Ralf
Ralf,
danke für deinen Hinweis mit dem Passwort. Hät ich auch wirklich selbst dran denken können. Hab deinen Tip mal ausprobiert und hab leider die anfängliche Fehlermeldung mit ERRDOS (Access denied) etc. erneut erhalten.
Gruß
Harald
Dann stimmt was mit der Authentifizierung nicht. Bist Du mit dem NT-Rechner in einer Domain? Dann füge mal das Argument
-W domainname
in den Befehl ein. Bei der Domain 'haralddomain' würde das dann so aussehen
# smbclient //WOLGK0927/BackupLinux thelenh1 -W haralddomain -U harald -c "prompt off; mput backup*.tar"
Hallo,
hab zwischenzeitlich mal die Option -W Domänenname ausprobiert habe aber leider auch wieder die Fehlermeldung ERRDOS (Access denied) erhalten. Hab da eine Idee bekommen woran es eventuell liegen könnte.
Da ich aber noch kaum Ahnung mit Samba hab weiss ich nicht ob ich da richtig liege. Zum einen könnte es daran liegen, dass der Pfad in der Datei smb.conf bei mir auf das Verzeichnis in dem die tar - Archive unter Linux sich befinden verweist nicht auf die Windows NT - Freigabe zum anderen könnte es aber auch daran liegen, dass dem smbclient Befehl der Freigabename unter Linux nicht wie von mir eingegeben der Freigabename unter Windows NT mitgegeben werden muss. Oder hast Du vielleicht noch ne andere Idee?
Wäre klasse wenn Du dich nochmals meldest.
Danke auch für deine bzw. Eure bisherigen Bemühungen.
Gruß
Harald
Moin Harald,
die smb.conf ist in dem Fall erst mal egal. Die wird zwar von smbclient gelesen, aber nur um rauszufinden in welcher Arbeitsgruppe/Domain der Rechner steht.
Lass Dir doch mal die Freigaben auf dem NT-Rechner anzeigen.
# smbclient -L WOLGK0927 -U harald -W haralddomain
haralddomain ist natürlich zu ersetzen ;-)
Da sollte dann die Liste der Freigaben ausgegeben werden. Taucht da Deine Freigabe auf, bzw hast Du überhaupt Zugriff darauf?
Hey,
danke für deine schnelle Antwort zuerst mal. Habs ausprobiert mir die Freigaben, wie du netterweise beschrieben hast mir anzeigen zu lassen.
Mit dem Ergebnis,das ich auf der Linux-Konsole erst mal nach einem Passwort gefragt wurde. Und erst als ich das Passwort unter Linux für den Root - User eingab bzw. das Windows NT - Passwort erfolgte wiederum die Fehlermeldung ERRDOS ... (Access denied). Hierzu muss ich vielleicht sagen, dass mein Windows NT - Passwort ein völlig anderes ist als das für den Root-User unter Linux bzw. eines weiteren von mir in meinem Probesystem (Netz) mit YAST2 angelegten weiteren User. Vielleicht müssen ja beide Passwörter also das unter Windows NT und das für den Root- User unter Linux identisch sein?
Selber Hey ;-)
Was Du auf dem Linux-System für Passwörte, Benutzer und Verzeichnisse hast, ist völligst Wurst. Du must Dich gegenüber dem NT-Rechner Authentifizieren (Mitteilen, wer Du bist), da Du ja auf den zugreifen willst.
Ist denn der NT-Rechner Mitglied einer Domäne? Hast Du dann den Linux-Rechner in diese Domäne aufgenommen (auf dem PDC einen Account für den Rechner angelegt)? Ansonsten wirst Du keinen Zugriff vom Linux-Rechner auf die Domäne haben.
An Deiner Stelle würde ich das erst mal außerhalb der Domäne probieren (Mit lokalen Benutzern) und das ganze, wenn es funktioniert, in die Domäne integrieren. Da Du scheinbar noch Probleme mit dem Verständniss über die Authentifizierung in einer Domäne hast, ist das wohl der einfachere Weg.
Hallo,
hab zwischenzeitlich das smbclient - Problem gelöst. Die Lösung lag darin, das unter Windows NT ausser dem Administrator noch kein Benutzer angelegt war und die Option -L bei dem smbclient lediglich der Auflistung jedoch nicht der Übertragung dient. Nachdem ich unter Windows NT einen Benutzer anlegte und die -L- Option beim smbclient-Befehl wegliess. Funktionierte alles einwandfrei.
Hab jetzt allerdings ein erneutes Problem und zwar möchte ich mit dem smbmount-Befehl, die Freigabe mounten. Bei diesem Befehl muss ein Mountpoint angegeben werden. Also wollte ich einen neuen anlegen. Dies funktioniert ja dann, wie ich auf einer Internet-Seite lesen konnte mit mkdir/Mountpointname und mount /Mountpointname. Allerdings verlangt dann mount einen entsprechenden Eintrag in /etc/fstab. Ich wollte daraufhin nachträglich dort eine weitere logische Partition anlegen und diese mit dem Mountpoint Mountpointname versehen um dann diesen Mountpoint entsprechend mounten zu können. Dies ergab jedoch eine Fehlermeldung. Weisst Du vielleicht wie man dieses Problem löst?
Danke im voraus
Gruß
Harald
Hallo Harald,
schön dass Du den Zugriff hinbekommen hast.
Der Eintrag in der fstab sollte bei Dir so aussehen
//wolgk0927/LinuxBackup /Mountpointname smbfs username=harald,password=haraldspasswort,noauto
wobei ich aber persönlich das Passwort da nicht reinschreiben würde, da die fstab World-Readable ist und somit jeder das Passwort lesen kann. Also entweder Passwort rauslassen und es jedesmal eingeben, wenn Du mountest oder den Zugriff auf die fstab beschränken, dass sie nicht mehr jeder lesen kann, was aber evtl. Probleme mit Benutzern oder Programmen gibt.
noauto bewirkt, dass der Eintrag nicht automatisch beim Rechnerstart gemountet wird.
Einhängen kannst Du die Freigabe dann mit
# mount /Mountpointname
ohne fstab-Eintrag kannst Du das mit
# mount -t smbfs -o username=harald,password=haraldspasswort //wolgk0927/LinuxBackup /Mountpointname
Gruß
Ralf
Hallo Ralf,
vielen Dank für Deine schnelle Antwort. Habe wie Du es mir empfohlen hast, den entsprechenden Eintrag in der Datei /etc/fstab eingetragen, erhalte aber leider die Fehlermeldung dass Linux das Verzeichnis mit dem Mountpoint weder in der Datei /etc/fstab noch in der Datei /etc/mtab finden konnte, obwohl wenn ich die Datei /etc/fstab mit dem vi - Editor aufrufe wird mir diese Zeile, wie Du sie mir netterweise angegeben hast angezeigt. Kannst Du dir diese Fehlermeldung erklären, muss man etwa auch in der Datei e /etc/mtab einen entsprechenden Eintrag vornehmen?
Falls du selbst etwa auch aus einem Büro mir Deine Antworten zu kommen lässt oder Du sonst nicht mehr dazu kommen solltest heute noch zu schreiben wünsch ich Dir schon mal ein schönes Wochenende.
Harald
Die Datei mtab wird dynamisch generiert. Da brauchst Du nix einzutragen, da stehen die eingehängten Dateisysteme drin.
Bei Deinem Eintrag in der fstab wird sich wohl ein Tippfehler eingeschlichen haben. Ansonsten käme eine andere Fehlermeldung.
Hallo Ralf,
ich habe die Datei fstab nochmals kontrolliert und konnte keinen Tippfehler ausfindig machen. Aber vielleicht habe ich ja einen Fehler beim Anlegen des nachträglichen Mountpoints gemacht. Von daher wäre es nett, wenn du mir nochmals kurz mitteilen könntest, wie man einen x-beliebigen Mountpoint, den man bei der Installation von Linux noch nicht angelegt hat im nachhinein anlegt. Wäre echt spitze!
Danke Harald
Um eine Samba/NT-Freigabe einzuhängen
1. Verzeichniss anlegen, unter dem das Dateisystem eingehängt werden soll. z.B.
# mkdir /mnt/mountpoint
2. Eintragen des Mountpoints in fstab. z.B.
# echo "//wolgk0927/LinuxBackup /mnt/mountpoint smbfs username=harald,password=haraldpasswort,noauto" >> /etc/fstab
Die Option noauto weglassen, wenn das Dateisystem beim Rechnerstart automatisch eingehängt werden soll!
3. Einhängen des Dateisystems
# mount /mnt/mountpoint
That's all
Hallo, guten Morgen,
leider muss ich mich nochmals mit einer ganz dummen Sache an dich wenden, die mir am Freitag unmittelbar nach Dienstschluss passierte. Wie gesagt ich arbeite hier im Büro mit
dem Linux-Rechner . Vom Büro bis zu meiner Heimatstadt sinds ca.65 km. Da ich auf öffentliche Verkehrsmittel (Zug) angewiesen bin wollte ich diesen am Freitag unbedingt noch erreichen. Schaute auf die Uhr und stellte fest dass ich es sehr sehr eilig hatte um ihn noch zu bekommen. Da ich zwischenzeitlich auf dem ersten Windows-NT-Rechner arbeitete war ich zwar der Ansicht Linux ordnungsgemäß runtergefahren zu haben, was sich zwischenzeitlich jedoch als Irrtum erwiesen hat. Als ich heute Morgen den Linux-Rechner wieder hochfahren wollte, meldete sich dieser mit der Fehlermeldung: fsck.ext2 /hda 1 failed Run it manually! Activating swap-devices in /etc/fstab failed. Sind nun meine gesamten bisherigen Arbeiten in Linux verloren ( dazu muss ich sagen dass ich bereits nochmals die Installations-CDs eingelegt habe und sowohl ein Reboot des neuen Systems , als auch den Punkt Update mehrfach ausprobiert habe) oder komme ich noch manuell an die alten Daten und Dateien,Skripte etc. unter Linux heran. Muss hierzu auch sagen, dass ich den von Linux selbst vorgeschlagenen Tip mit mount - n - o remount,rw / bereits nachdem ich mich mit dem Root-Passwort angemeldet habe ausprobiert habe, jedoch stets nur mit der Meldung von Linux (repair filesystem). Kannst Du mir da einen Ratschlag geben, was ich nun tun soll oder ob alle bisherigen Arbeiten vergebliche Bemühungen waren und ich nochmals alles von vorne machen muss?
Viele Grüße
Harald
Moin Harald,
steht doch da, was Du machen musst
# fsck.ext2 /dev/hda1
und danach ein Reboot
Gruß
Ralf
Hallo,
hab Linux mit allen Dateien und Skripten wie am Freitag wieder ans Laufen bekommen indem ich Linux neuinstalliert habe, die einzelnen Mountpoints nochmals angab und die Partitionen unberührt liess.
Dabei trat dann eine Fehlermeldung bei der Anlegung des Benutzeraccounts auf. Diese hatte nach abgeschlossener Installation zur Folge dass ich mich mit dem User-Passwort nicht mehr am KDE-Kontrollzentrum anmelden konnte. Daraufhin hab ich mich als root angemeldet und mit yast dem Benutzer ein neues Passwort zugeteilt. Daraufhin konnte ich mich wieder als Benutzer anmelden und auf dessen Dateien zugreifen. Seit dieser Zeit funktioniert unter root jedoch weder der smbclient -L localhost - Befehl noch die anderen Versionen des smbclient-Befehls die du mir netterweise mitgeteilt hast, desweiteren gibt ifconfig nur noch die Loopback-Adresse aus. Wie bekomme ich eine neue IP-Adresse für den Linux-Rechner und Linux wieder ins Netz?
Vielen Dank im voraus
Viele Grüße
Harald
Hallo Ralf,
habe zwischenzeitlich wieder alles ans Laufen bekommmen ausser dem smbmount-Kommando, obwohl ich den Eintrag in der Datei /etc/fstab genau so vorgenommen habe, wie Du ihn mir netterweise mitgeteilt hast , meckert Linux mit der Fehlermeldung: can't find /xx1x in
/etc/fstab oder /etc/mtab.
Weisst Du da einen Ratschlag?
Der Eintrag in der Datei /etc/fstab lautet bei mir://WOLGK0927/LinuxBackup/xx1x smbfs Username = Haralds Benutzername, noauto.
Würde mich über einen Ratschlag sehr freuen.
Bis dann
Viele Grüße
Harald
Hallo,
kennt sich vielleicht auch jemand damit aus ob man mithilfe des tar-Befehls auch komplette Images erstellen (z.B. ISO-Images) und wie dies gegebenenfalls funktioniert?
Vielen Dank im voraus
Gruß
Harald
Hallo Harald,
ich würde Dir empfehlen einen neuen thread eröffnen.
Aber das Programm, das Du suchst heisst mkisofs:
als beispiel:
mkisofs -r -J -o /tmp/datencd.iso /tmp/datencd/
Was passiert hier? mkisofs ("make ISO9660 filesystem") erzeugt ein sogenanntes ISO-Dateisystem nach ISO9660-standard. In diesem Format sind alle Daten-CDs für Windows- und Unix-Rechner beschrieben. Der Aufruf mkisofs -o /temp/datencd.iso /temp/datencd/ würde streng nach ISO-Standard ein CD-Image names /temp/datencd.iso erzeugen, das alle Dateien aus dem Unterverzeichnis /temp/datencd/ enthält. Der ISO-Standard ist allerdings beschränkt, was die Namensgebung und weitere Dateisystem-Features (wie etwa Unix-Zugriffsrechte und symbolische Links) angeht; ein "ordentliches" Dateisystem, das sowohl unter Linux/Unix als auch Windows gut lesbar ist, erhält man nur, wenn man das ISO-konforme Inhaltsverzeichnis um die sogenannten "Rockridge-Extensions" (für Unix) und "Joliet Extensions" (für Windows) ergänzt. Das machen die Optionen -r und -J.
Bis denne,
poly
p.s.: das stammt auch nicht alles von mir, sondern von:
www.linux-user.de