Compare commits
No commits in common. "b9b3a5c07755796da4d425f9ea4adad92989ea60" and "e01ce0b019760dc17b4206b45bee3f3d277a61e4" have entirely different histories.
b9b3a5c077
...
e01ce0b019
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,4 +33,3 @@ core
|
||||
|
||||
.fleet
|
||||
.idea
|
||||
.vscode
|
||||
|
||||
@ -25,13 +25,13 @@ RESTART_COUNT=$(<"$RESTART_COUNT_FILE")
|
||||
|
||||
# === Hilfe-Seite ===
|
||||
if [[ "$*" == *"-h"* ]]; then
|
||||
echo "Benutzung: $0 <WEBDAV_URL> [DEVICE_MAC] [NFS_PATH]"
|
||||
echo "Benutzung: $0 <DEVICE_MAC> <WEBDAV_URL> <NFS_PATH>"
|
||||
echo
|
||||
echo "Optionen:"
|
||||
echo " -h Zeigt diese Hilfenachricht an"
|
||||
echo " WEBDAV_URL Die WebDAV-URL des Dateisystems (Pflichtfeld)"
|
||||
echo " DEVICE_MAC Die MAC-Adresse des Geräts (optional, für Wake-on-LAN)"
|
||||
echo " NFS_PATH Der NFS-Pfad des Dateisystems (optional, wenn NFS genutzt wird)"
|
||||
echo " DEVICE_MAC Die MAC-Adresse des Geräts"
|
||||
echo " WEBDAV_URL Die WebDAV-URL des Dateisystems"
|
||||
echo " NFS_PATH Der NFS-Pfad des Dateisystems"
|
||||
echo
|
||||
echo "Dieses Skript muss als root ausgeführt werden! Bsp. sudo $0"
|
||||
echo "Folgende Pakete müssen installiert sein: davfs2, nfs-common, nmap-common, wakeonlan, wget"
|
||||
@ -50,15 +50,15 @@ if [[ $EUID -ne 0 ]]; then
|
||||
fi
|
||||
|
||||
# === PARAMETER-ÜBERPRÜFUNG ===
|
||||
if [[ "$#" -lt 1 ]]; then
|
||||
echo "Benutzung: $0 <WEBDAV_URL> [DEVICE_MAC] [NFS_PATH]"
|
||||
if [[ "$#" -ne 3 ]]; then
|
||||
echo "Benutzung: $0 <DEVICE_MAC> <WEBDAV_URL> <NFS_PATH>"
|
||||
remove_lock
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WEBDAV_URL="$1"
|
||||
DEVICE_MAC="${2:-}"
|
||||
NFS_PATH="${3:-}"
|
||||
DEVICE_MAC="$1"
|
||||
WEBDAV_URL="$2"
|
||||
NFS_PATH="$3"
|
||||
|
||||
# === KONFIGURATION ===
|
||||
MOUNT_POINT="/media/HiDrive" # Gemeinsamer Einhängepunkt für NFS/WebDAV
|
||||
@ -143,46 +143,31 @@ if ! check_nfs_installed && ! check_webdav_installed; then
|
||||
restart_script "$@"
|
||||
fi
|
||||
|
||||
if [[ -n "$DEVICE_MAC" && -n "$NFS_PATH" ]]; then
|
||||
log "Wake-on-LAN wird genutzt für Gerät mit MAC: $DEVICE_MAC"
|
||||
DEVICE_IP=$(wake_device "$DEVICE_MAC")
|
||||
# Gerät erreichbar?
|
||||
DEVICE_IP=$(wake_device "$DEVICE_MAC")
|
||||
|
||||
if [[ -n "$DEVICE_IP" ]]; then
|
||||
log "Gerät ist unter $DEVICE_IP erreichbar. Prüfe NFS-Mount..."
|
||||
NFS_SERVER="$DEVICE_IP:$NFS_PATH"
|
||||
if ! is_nfs_mounted "$MOUNT_POINT"; then
|
||||
log "NFS ist nicht gemountet. Wechsel zu NFS..."
|
||||
if is_mounted "$MOUNT_POINT"; then
|
||||
unmount "$MOUNT_POINT"
|
||||
fi
|
||||
if check_nfs_installed; then
|
||||
mount_nfs || restart_script "$@"
|
||||
fi
|
||||
else
|
||||
log "NFS ist bereits gemountet."
|
||||
fi
|
||||
else
|
||||
log "Gerät ist nicht erreichbar. Prüfe WebDAV-Mount..."
|
||||
if ! is_webdav_mounted "$MOUNT_POINT"; then
|
||||
log "WebDAV ist nicht gemountet. Wechsel zu WebDAV..."
|
||||
if is_mounted "$MOUNT_POINT"; then
|
||||
unmount "$MOUNT_POINT"
|
||||
fi
|
||||
if check_webdav_installed; then
|
||||
mount_webdav || restart_script "$@"
|
||||
fi
|
||||
else
|
||||
log "WebDAV ist bereits gemountet."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log "Kein Gerät angegeben. Direktes Einbinden von WebDAV..."
|
||||
if ! is_webdav_mounted "$MOUNT_POINT"; then
|
||||
log "WebDAV ist nicht gemountet. Einbinden..."
|
||||
if [[ -n "$DEVICE_IP" ]]; then
|
||||
log "Gerät ist unter $DEVICE_IP erreichbar. Prüfe NFS-Mount..."
|
||||
NFS_SERVER="$DEVICE_IP:$NFS_PATH"
|
||||
if ! is_nfs_mounted "$MOUNT_POINT"; then
|
||||
log "NFS ist nicht gemountet. Wechsel zu NFS..."
|
||||
if is_mounted "$MOUNT_POINT"; then
|
||||
unmount "$MOUNT_POINT"
|
||||
fi
|
||||
if check_webdav_installed; then
|
||||
if check_nfs_installed; then
|
||||
mount_nfs || restart_script "$@"
|
||||
fi
|
||||
else
|
||||
log "NFS ist bereits gemountet."
|
||||
fi
|
||||
else
|
||||
log "Gerät ist nicht erreichbar. Prüfe WebDAV-Mount..."
|
||||
if ! is_webdav_mounted "$MOUNT_POINT"; then
|
||||
log "WebDAV ist nicht gemountet. Wechsel zu WebDAV..."
|
||||
if is_mounted "$MOUNT_POINT"; then
|
||||
unmount "$MOUNT_POINT"
|
||||
fi
|
||||
if check_webdav_installed && check_webdav_credentials; then
|
||||
mount_webdav || restart_script "$@"
|
||||
fi
|
||||
else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user