TimeCapsule bauen (Fritz!Box + HDD)

pidde sehr, anpassen nach belieben:

Code:
#!/bin/bash

vpnmount="0" #mount if vpn is active (1=yes 0=no)
ip="192.168.1.1" #ipaddress of server
mounts="share1 share2 share3" #network shares on ipaddress
user="me" #plaintext name of the user who wants to connect to ipaddress
password="secret" #plaintext password of user





########## DO NOT TOUCH ANYTHING BEHIND ################

packets=`/sbin/ping -c1 -t2 $ip 2> /dev/null | grep "packets"`
packetsRecv=`echo $packets | /usr/bin/cut -d"," -f2 | /usr/bin/awk {'print $1'}`
packetsSend=`echo $packets | /usr/bin/cut -d"," -f1 | /usr/bin/awk {'print $1'}`
tap=`/sbin/ifconfig tap0 2> /dev/null | /usr/bin/wc -l | /usr/bin/sed 's/ //g'`
ppp0=`/sbin/ifconfig ppp0 2> /dev/null | /usr/bin/wc -l | /usr/bin/sed 's/ //g'`

if [[ $vpnmount = 0 ]]; then
	if [[ "$tap" > 0 ]]; then
		exit
	fi
	if [[ "$ppp0" > 0 ]]; then
		exit
	fi
fi

if [[ "$packetsRecv" != "$packetsSend" ]]; then
	#echo "Remote Host not reachable!"
	exit
fi

for mount in $mounts; do
	mountstate=`/sbin/mount | /usr/bin/grep '/Volumes/$mount' | /usr/bin/wc -l | /usr/bin/sed 's/ //g'`

	if [[ "$mountstate" < 1 ]]; then
		if [[ ! -d /Volumes/$mount ]]; then
			/bin/mkdir /Volumes/$mount
		fi
		result=`/sbin/mount_afp afp://$user:$password@$ip/$mount /Volumes/$mount 2> /dev/null`
	fi
done

Der passende Crontab eintrag sieht folgendermaßen aus:

Code:
*/1 * * * * /Users/<username>/<pathtoscript>/<scriptname>

Einfach mittels 'crontab -e' im Terminal eingeben und den Pfad anpassen.

Update: Das Script funktioniert nun auch für mehrere Shares auf einem Server.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Rocky Clark, tocotronaut, archie79muc@mac und eine weitere Person
@dansch: kannst du ein bisschen was dazu erklären? Ich habe keine Ahnung, was ich damit jetzt machen soll. Kling aber interessant.

petjek
 
Ja, also im Prinzip ist das ganz einfach. Ich überarbeite den Code mal mit ein paar kurzen Kommentaren.
 
Hallo,

die Anleitung ist echt spitze :cake:

Ich habe das nun auch mal probiert, musste aber leider feststellen, dass die Geschwindigkeit über die Fritz Box um einiges langsamer arbeitet.

Zum Vergleich habe ich einen Ordner mit 28 Dateien 1,16 GB Größe vom Mac auf ein und diesselbe Festplatte mit folgenden Komponenten kopiert.

1. FritzBox 7270 - externe HD (Fat32) USB - über LAN -> 5:02 min und

2. Airport Extreme (Modell mit 10/100 Ethernet) - gleiche HD (HFS+) USB - über das gleiche LAN -> 2:30 min

Die Airport habe ich nicht direkt mit dem Mac sondern sogar noch "über" die FritzBox am LAN angeschlossen, wobei ich aber nicht weiss, ob die Fritz das Ethernet so geschaltet hat, dass die Daten einfach von einem Port zum anderen durchlaufen, was ich mir aber vorstellen könnte.

Also ist das SMB Protokoll, die FAT32 Formatierung oder ganz einfach die USB Schnittstelle an der FritzBox das Nadelöhr.
Und soweit ich gelesen habe gibt es die 7270 nur mit USB 2.0 Schnittstelle - oder hatten die ersten Geräte noch USB 1.1?

Ich stelle mir grad mal die Geschwindigkeit am Gigabit-Netz der Airport Extreme mit dem Mac vor...uihhhhh...da sollte noch einiges drin sein!
 
Ich halte das alles sowieso für wenig Praktikabel.

In gewisse Sachen muss man, wenn mans gescheit haben will, einfach investieren. Ich schwöre ja auf die Kombination: Mac Mini mit OSX Server und normales Draft-N Netzwerk / Vollgeswitchtes Gigabit Ethernet.
 
@dansch: ich weiß nicht, ob meine Frage totaler Schwachsinn ist aber ich habe nun mal Null Ahnung von Shell-Scripts.
Wenn ich den Mountpunkt im Dateisystem hinter dem grep angepasst habe, muss ich dass dann nicht auch bei
Code:
if [[ "$mount" < 1 ]]; then
	if [[ ! -d /Volumes/sharepoint ]]; then
		/bin/mkdir /Volumes/sharepoint
machen?
Bei mir will das nämlich nicht klappen.

petjek

PS: Sorry wegen OT
 
ja genau bei sharepoint kommt noch ein $ davor, das habe ich in der eile vergessen.
habe es im quelltext angepasst, müsste so funktionieren.

oben legst du das sharepoint namentlich fest, unten werden dann die variablen durch den oben angegebenen namen ersetzt.
 
Habe das gestern mit dem Speedport w920v (nicht gefritzt) gemacht, klappt ebenfalls sehr gut :)
 
  • Gefällt mir
Reaktionen: tocotronaut
bei mir kommt folgende fehlermedung... da steht vorbereiten und dann kommt nach ca. 2 minuten diese Fehlermeldung:

Das Image des Backups konnte nicht erstellt werden..

bitte um hilfe..
 
Zurück
Oben Unten