Einstieg - So wird das Leben leichter

  • Webspace - Erste Schritte um mit dem Webspace zu arbeiten
  • Datenbank - Erste Schritte um mit der Datenbank zu arbeiten.
  • Protokolle - Eine Sammlung der im Internet am häufigsten verwendeten Protokolle und ihre Funktion.

Inhalt

Aktiv/Passiv - Failovercluster

Hardware-Support

Sicherheit

SSHFS-MountScript

Dieses Script soll es erleichtern mehrere externe Verzeichnisse über SSHFS zu mounten. Dazu kann dieses Script über eine im Kopfteil befindliche Matrix konfiguriert werden.

Als erstes muss sshfs eingerichtet werden.

apt-get install sshfs

Nun können noch die Systemuser in die Gruppe „fuse“ aufgenommen werden damit diese sshfs ohne root-Rechte nutzen können. Ansonsten fehlt den Usern das Recht „/dev/fuse“ zu nutzen.

adduser foo fuse

Danach sollte sich der User einmal komplett vom System ab und wieder anmelden, sodass die Gruppenrichtlinien neu eingelesen werden.

Nun kann folgendes Script genutzt werden. Das Script kann um beliebig viele Mountpunkte erweitert werden. Wichtig ist dabei nur, dass die Matrix aufsteigend konfiguriert wird und immer sowohl der Ordner als auch der Zielhost angegeben wird.

Das Script kann auch direkt mit dem Parameter mount bzw umount aufgerufen werde.

#!/bin/bash
echo ""
echo "###########################################################"
echo "Linetz - Hosting und IT-Dienstleistungen Copyright 2014"
echo "Syntax: mount_umount.sh \$parm "
echo "Erlaubte Parameter: [mount|umount]"
echo "Beenden mit Strg + C"
echo "###########################################################"
echo ""

# definitions
declare -A matrix

# change this!
path="/home/user/sshfs_mount/"


# configure number of used entries in the matrix!
number_of_max_entry=1

# directory for this mountpoint is
matrix[1,0]="exampleuser@examplehost"

# known sshfs syntax for extern host   
matrix[1,1]="exampleuser@examplehost:/home/exampleuser"

# second example
#matrix[2,0]="/new/path"
#matrix[2,1]="user@host:/path/to/include"

# get parameter send by commandline [ mount | umount ]
mount=$1

while ( [ "$mount" != "mount" ] && [ "$mount" != "umount" ] ); do
        echo "please choose [ mount | umount ]"
        read mount
done

if [ "$mount" == "mount" ]; then

        # mount goes here
        for ((i=1; i<=$number_of_max_entry; i++)); do
                if [ ! -d $path${matrix[$i,0]} ]; then
                        mkdir $path${matrix[$i,0]}
                        sshfs -o reconnect ${matrix[$i,1]} $path${matrix[$i,0]}
                fi
        done
fi

if [ "$mount" == "umount" ]; then

        # umount goes here
        for ((i=1; i<=$number_of_max_entry; i++)); do
                if [ -d $path${matrix[$i,0]} ]; then
                        fusermount -u $path${matrix[$i,0]}
                        rmdir $path${matrix[$i,0]}
                fi
        done


fi
Zum Seitenanfang.

 

Copyright © 2024 Linetz – Hosting und IT-Dienstleistungen Hendrik Borgmeyer.