Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
nfs-client blockiert backup script

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
alko_klinik



Anmeldungsdatum: 12.06.2008
Beiträge: 29

BeitragVerfasst am: 24. Feb 2012 13:56   Titel: nfs-client blockiert backup script

Hi Community!

Ich benutze synbak als backup für verschiedene Daten
und das gibt mir im Log File jedesmal die "Active mount points" an
also sozusagen führt das Script den Befehl df aus.
Ja, und df wird von NTF blockiert.

letztes Jahr hab ich voll freude
endlich einmal ein NFS-Netzwerk erstellt
was ja super funktioniert solang mein desktop-Computer eingeschalten ist.
wenn dem aber nicht so ist
friert mir die bash ein, fals ich versuche mit dem Backup-Computer auf meine desktop zuzugreifen. (also zb. ein normales cd in den angelegten Pfad für meinen desktop-PC oder eben ein df)

gibt es da irgendeine Lösung wie ich das abfangen könnte!?

Vielen Dank für eure Hilfe
Cool alko_klinik

%PS:
ach ja, mein fstab Eintrag:
pw02zpr006:/home /mnt/Netzwerk/PW02ZPR006 nfs defaults 0 0
 
Benutzer-Profile anzeigen Private Nachricht senden

hastifranki



Anmeldungsdatum: 06.05.2006
Beiträge: 252

BeitragVerfasst am: 24. Feb 2012 18:52   Titel:

Hallo,

ich würde die Option noauto in die fstab eintragen und NFS manuell mounten.

Ich verwende Unison bzw. tar (differentielles Backup). Unison funktioniert im Netz und verwendet rsync. Ich habe gerade gelesen, dass synbak auch rsync verwendet. Das ist vielleicht besser als NFS.

Auf die entfernten Daten kann man z.B. mit dem Datei-Browser (Server verbinden...) über ssh zugreifen. Andere Protokolle funktionieren auch im Datei-Browser unter Gnome.

Viele Grüße
Frank
 
Benutzer-Profile anzeigen Private Nachricht senden

alko_klinik



Anmeldungsdatum: 12.06.2008
Beiträge: 29

BeitragVerfasst am: 27. Feb 2012 13:10   Titel:

Hi hastifranki, Hi Community!

Wie ist das eigentlich mit einem Linux-Netzwerk?

bei mir auf der Klinik (LKH-Graz)
haben natürlich (fast) alle 6000 Mann/Damen/Doktor(in)en/Proffesor(in)en als OS Windows .
Wenn sie Ihren PC am Morgen Booten
haben sie neben ihrer C:// Platte
auch noch ein externes home ( U:// ) und ein externes PUBLIC ( G:// )
welches immer präsent ist.
Ich kann mit dem Explorer drauf zugreife, oder der Dos Shell,
auch jedes Programm hat die Möglichkeit dazu.

Das möchte ich jetzt auch unter Linux realisieren
automatischer Zugriff auf U:// und G:// geht natürlich nicht
da das Linux-Passort nicht das gleiche wie das globale Windows-Passwort ist.
Dort möchte ich in Zukunft auch mal hin, dass ich den Winn-Server für die Passwort Registrierung verwende.
Aber das steht ja noch in den Sternen.

Zuerst aber mal die Linux-Kisten untereinander verbinden.
Sind eh nur vier stück Wink

Aber es hakt ja schon dabei dass ein df -h hängen bleibt
wenn der andere Computer nicht eingeschaltet ist.

Jedoch df -h ist ja eigentlich gar kein so grosses Problem, ausser beim backup mit synbak
(das mit dem Backup hab ich eigentlich nur angeführt weil es mir somit zum Problem geworden ist)
wenns hängen bleibt kann ich immerhin noch ein CTRL + [C] machen.
aber wenn ich mit "change directory" ('cd') in das Verzeichniss des anderen Computers springen will. Und dieser derzeit aber abgeschaltet ist,
auch wenn ich ihn zuvor mal händisch gemountet habe, kann ich den Befehl dann nicht mehr abbrechen.
Da hilft nur mehr den Terminal neu zu starten
und wahrscheinlich hängt dann der cd Befehl trotzdem noch im init-prozess.

Da muss es doch irgend eine Lösung geben !!?
Cool pcAlko
 
Benutzer-Profile anzeigen Private Nachricht senden

hastifranki



Anmeldungsdatum: 06.05.2006
Beiträge: 252

BeitragVerfasst am: 27. Feb 2012 19:54   Titel:

Hallo,

was macht Windows, wenn plötzlich der Server für G:// und U:// nicht mehr zur Verfügung steht? Ich habe hier leider keinen smb-Server eingerichtet, so dass ich das nicht testen kann.

Ich würde unter Linux ein Script schreiben, das die Verfügbarkeit des Servers (NFS) in regelmäßigen Abständen abruft und bei Zustandswechsel mount oder umount ausführt.

Viele Grüße
Frank
 
Benutzer-Profile anzeigen Private Nachricht senden

alko_klinik



Anmeldungsdatum: 12.06.2008
Beiträge: 29

BeitragVerfasst am: 28. Feb 2012 15:14   Titel:

hastifranki hat folgendes geschrieben::

was macht Windows, wenn plötzlich der Server für G:// und U:// nicht mehr zur Verfügung steht?

Ist das eine Sugestivfrage? Laughing
Ich glaub nicht dass meine Mitarbeiter damit eine Freude hätten wenn ich einen dieser Server mal kurz für Testzwecke ausschalten würde. Wink
Aber ich muss eigentlich sagen, seit den 7 Jahren dass ich hier arbeite
Ist es vielleicht ein bis zwei-mal vorgekommen dass der Windows Browser nicht startet
Ich vermute dass dann so ein Server steht.
hastifranki hat folgendes geschrieben::

Ich würde unter Linux ein Script schreiben, das die Verfügbarkeit des Servers (NFS) in regelmäßigen Abständen abruft und bei Zustandswechsel mount oder umount ausfü$

hast Du das schon mal versucht?
Wie erkennt man das ein anderer rechner, den man zuvor mit NFS gemountet hat, zur Zeit nicht läuft?
mit nfsstat -o all -234
konnte ich keine Änderungen feststellen
und nfsstat -m
zeigt mir nach wie vor an dass der andere Server gemountet ist

Aber nichts desto trotz
wenn ich versuche, einen Rechner der nicht mehr am Netz ist, mit umount aus zu hängen,
schreibt er mir "device is busy"

mitlerweile hab ich auch schon bemerkt das
ich nirgends auf meinem Rechner ein 'ls' ausführen kann
Dolphin listet mir im Augenblick auch nichts auf
oh Gott! auch nachdem ich die selbe Situation reproduziert habe
Gott sei Dank ist es meinem Chef noch nicht aufgefallen Smile

bei mir Stürtzt sogar die Systray-Leiste ab
hab ein Kubuntu 11.04

also da kann ich keine permanennte NFS Verbindung verwenden
Cool alko_klinik
 
Benutzer-Profile anzeigen Private Nachricht senden

hastifranki



Anmeldungsdatum: 06.05.2006
Beiträge: 252

BeitragVerfasst am: 28. Feb 2012 18:23   Titel:

alko_klinik hat folgendes geschrieben::

mitlerweile hab ich auch schon bemerkt das
ich nirgends auf meinem Rechner ein 'ls' ausführen kann
Dolphin listet mir im Augenblick auch nichts auf
oh Gott! auch nachdem ich die selbe Situation reproduziert habe
Gott sei Dank ist es meinem Chef noch nicht aufgefallen Smile

bei mir Stürtzt sogar die Systray-Leiste ab
hab ein Kubuntu 11.04


Wenn der NFS-Server nicht permanent zur Verfügung stehen soll, kann man das gesamte home-Verzeichnis nicht auslagern. Im home-Verzeichnis befinden sich versteckte Konfigurationsdateien, die auch verfügbar sein müssen, wenn der NFS-Server nicht läuft. Du solltest ein anderes Verzeichnis (z.B. /home/<user>/nfs_test) wählen.

Ich halte nicht viel von NFS, weil es genügend Alternativen gibt. Warum versuchst du nicht „Netzordner hinzufügen“ unter Dolphin?

http://wiki.ubuntuusers.de/Heimnetzwerk#KDE-Kubuntu

Für den Fall, dass es unbedingt NFS sein soll, folgen hier ein paar Zeilen, mit denen man sich behelfen könnte:

Code:
#!/bin/bash
VERZ=/home/<user>/nfs_test
while true
   do if ping -c 1 <Servername oder IP-Adresse>
      then
         echo "Server ist erreichbar!"
         if [ $(grep $VERZ /etc/mtab | wc -l) -eq 0 ]
            then echo "mount wird ausgeführt."
            mount $VERZ
         fi         
      else
         echo "Server ist nicht erreichbar!"
         if [ $(grep $VERZ /etc/mtab | wc -l) -gt 0 ]
            then echo "umount wird ausgeführt."
            umount -f $VERZ
         fi
   fi
sleep 5
done


Die spitzen Klammern müssen noch ersetzt werden.

Viele Grüße
Frank
 
Benutzer-Profile anzeigen Private Nachricht senden

alko_klinik



Anmeldungsdatum: 12.06.2008
Beiträge: 29

BeitragVerfasst am: 02. März 2012 15:13   Titel:

hastifranki hat folgendes geschrieben::
Wenn der NFS-Server nicht permanent zur Verfügung stehen soll, kann man das gesamte home-Verzeichnis nicht auslagern. Im home-Verzeichnis befinden sich versteckte Konfigurationsdateien, die auch verfügbar sein müssen, wenn der NFS-Server nicht läuft.

Das home Verzeichnis hab ich gar nicht ausgelagert
Es geht hierbei nur um einen externen Server der unter /mnt/SERVER gemountet ist
$>ls
bleibt hängen und ich kann nur den Terminal mit klick auf das Kreuz rechts oben beenden


aber Egal!
Danke für das snippet Exclamation Exclamation
funktioniert super
Habe aber bis jetzt gebraucht um es zu modifizieren
Ich bin nämlich mit der bash auf Kriegs-Fuss Wink
komm von der C++ Schiene -> aber die Shell ist mit unverständlich
fängt schon an dass beim IF-Vergleich bei dem Operatoren zwischen Zahlen und Strings unterschieden wird
und endet damit dass wenn in einem script ein Array vorkommt
dass es mit
$>sh <script> sowieso nicht funktioniert

Code:
if [ $(grep $VERZ /etc/mtab | wc -l) -gt 0 ]

funktioniert bei mir auch nicht
ich habs dann einfach mit
Code:

mtab=`grep ${ips[i]}:${foreign_path[i]} /etc/mtab | wc -l`
if [ $mtab -gt 0 ]

gelöst.

Danke für Deine Mühen
Cool pcAlko

%PS: falls jemand mein Script mal brauchen kann
oder Verbesserungsvorschläge hat
(Ich habs gleich für mehrere mount points ausgelegt)
so sieht es zur Zeit aus

Code:

#!/bin/bash

mountpoint[0]="/mnt/SERVER"                     # Server DISK
mountpoint[1]="/mnt/Netzwerk/Linux/SU02ZPR003"  # Server home
mountpoint[2]="/mnt/globaldata"                 # liver PC global
mountpoint[3]="/mnt/Netzwerk/PU02ZPR001"        # liver PC home
ips[0]="su02zpr003"
ips[1]="su02zpr003"
ips[2]="10.15.8.15"
ips[3]="10.15.8.15"
foreign_path[0]="/mnt/DISK"
foreign_path[1]="/home"
foreign_path[2]="/mnt/data/globaldata"
foreign_path[3]="/home"


    while true
    do

        for((i= 0; i < ${#mountpoint[*]}; ++i))
        do
           echo
           echo
           echo
           echo try to ping $i address ${ips[i]}
           if ping -c 1 ${ips[i]}
              then
                 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
                 echo "Server ${ips[i]}:${foreign_path[i]} ist erreichbar!"
                 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
                 echo "'grep ${ips[i]}:${foreign_path[i]} /etc/mtab' has count `grep ${ips[i]}:${foreign_path[i]} /etc/mtab | wc -l`"
                 #echo `grep ${ips[i]}:${foreign_path[i]} /etc/mtab`
                 mtab=`grep ${ips[i]}:${foreign_path[i]} /etc/mtab | wc -l`
                 if [ $mtab -eq 0 ]
                    then echo "mount wird ausgeführt."
                    mount ${mountpoint[i]}
                 fi
              else
                 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
                 echo "Server ${ips[i]}:${foreign_path[i]} ist nicht erreichbar!"
                 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
                 echo "'grep ${ips[i]}:${foreign_path[i]} /etc/mtab' has count `grep ${ips[i]}:${foreign_path[i]} /etc/mtab | wc -l`"
                 #echo `grep ${ips[i]}:${foreign_path[i]} /etc/mtab`
                 mtab=`grep ${ips[i]}:${foreign_path[i]} /etc/mtab | wc -l`
                 if [ $mtab -gt 0 ]
                    then echo "server wird ausgehängt."
                    umount -f ${mountpoint[i]}
                 fi
           fi
        done

        echo
        date
       sleep 5
    done
           
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy