USB-Sticks .. Untereinander syncronisieren

noleck123

Neuer User
Mitglied seit
30 Dez 2006
Beiträge
31
Punkte für Reaktionen
0
Punkte
0
Hallo

ich habe 2 Fritzbox (Freetz-Mod) per VPN verbunden, und möchte gern das sich die daran angesteckten USB Sticks .. (am liebsten Nachts) Syncronieren ...

Ich habe viel gelesen Rsync etc aber da komme ich nicht weiter, deshalb habe ich mir überlegt ob es nicht per wget möglich wäre ??

in etwa so ??

wget -t 10 -nH -P ftp://box1/uStor01/freigabe/ -r ftp://user:pass@box2/U3CruzerMicro-Partition-0-1/*.*

er versucht sich zu verbinden aber lädt nicht .. was mache ich falsch ?
Wenn das ging könnte man es doch mit einen Script in einen bestimmten interval automatisch aufrufen, um so zu Syncronisieren...
 
Da es sich hier um ein VPN Netzwerk handelt, brauchst Du dir um die Klartextübertragung von FTP ja keine Sorgen machen. Ich würde allerdings anstatt mit wget zu arbeiten, die entfernte Box die Datei schicken lassen.

Hier mal ein Beispiel einer entfernten Syslog LOG

Code:
ftpput (ZielBoxIP) /(FTPVerzeichnis)/tmp/syslogvomgateway.log /var/log/messages

Vielleicht hilft Dir das weiter.

Grüße Lemur
 
Hi danke für den Tip.. ich habe es probiert aber ich komme nicht weiter ...
versuche ich die standart variante also eine Datei zu senden .. kommt irgendwann timeout....

Ich habe folgenden Thread hier im forum gefunden ...

http://www.ip-phone-forum.de/showthread.php?t=153871&highlight=ftpput

mit diesen Script

#!/bin/sh

### ANPASSEN : ####
BUSYBOX="/var/media/ftp/usb/bin/busybox"
USER="xxx"
PASS="xxxxxxx"
FTP_PATH=""
HOST="host.de:21"
################

for file in `find $1//*`
do
if [ ! -f "$file" ]; then
NEW_PATH=`echo "$file" | $BUSYBOX sed -e 's/.*\/\/\(.*\)/\1/g'`
echo "USER $USER" > /var/tmp/nc_ftp_cmd
echo "PASS $PASS" >> /var/tmp/nc_ftp_cmd
echo "CWD $FTP_PATH" >> /var/tmp/nc_ftp_cmd
echo "MKD $NEW_PATH" >> /var/tmp/nc_ftp_cmd
echo "QUIT" >> /var/tmp/nc_ftp_cmd
cat /var/tmp/nc_ftp_cmd | $BUSYBOX nc $HOST
rm /var/tmp/nc_ftp_cmd
fi
done

for file in `find $1//*`
do
if [ -f "$file" ]; then
filename=`echo "$file" | sed -e 's/.*\///g'`
NEW_PATH=`echo "$file" | $BUSYBOX sed -e 's/.*\/\/\(.*\)/\1/g'`
$BUSYBOX ftpput -v -u $USER -p $PASS $HOST "$FTP_PATH/$NEW_PATH" "$file"
fi
done






das Script habe ich nach angepasst ..

aber wenn ich es Aufrufen bekomme ich die Fehlermeldung

/var/media/ftp/usb/bin/busybox
bei mir .. /var/media/ftp/uStor01/freigabe

Permission denied ....
 
/var/media/ftp/usb/bin/busybox
bei mir .. /var/media/ftp/uStor01/freigabe

Permission denied ....

Das ist doch schön, endlich mal ne einfache Fehlermeldung.

Welche "Permission" hat den die Scriptdatei?

Code:
ls -l

Wenn kein "X" dabei ist, ausführbar machen

Code:
chmod +x SCRIPTNAME

Problem gelöst?!

Grüße
Lemur
 
habe ls -1 steht nix dabei
habe trotzdem chmod +x te.sh (ist meine script Datei) gemacht


hatte aber vorher schon chmod 755 te.sh gemacht ... Ich dachte immer das dass ausreicht ..

als Fehler kommt.. wenn ich ./te.sh starte ...

./te.sh: line 22: /var/media/ftp/uStor01/freigabe/: Permission denied
 
Also, zunächst mal heißt das nicht ls-1, sonder - ich schreibs mal "groß" LS -L

dann guck Dir doch mal mit dem neugelernten Befehl die Datei an, die im te.sh in Zeile 22 steht, ob die auch ausführbar ist?

PS: Ändere mal dein Script im Posting und füge die code - Tags hinzu, sonst schimpfen die lieben Mod's wieder ;)))
 
ok ls -l
habe ich probiert ...

es kommmt

-rwxrwxrwx 1 root root 1432 May 10 01:28 te.sh

Zeile 22 ??

ok ich habe mir jetzt das script angeschaut

vi te.sh

zeile 22 wäre

filename=´echo "$file" | sed -e ´s/.*\///g´´


den code - tags ?
 
Okay, er legt also eine File an, dann ist nur die Frage, welche File und wo?
Diese kann er scheinbar nicht ausführen, also fehlt da in der Routine ein chmod +x für ebendiese File, idealerweise bevor selbige gestartet wird.
 
mmhh irgendwie komme ich nicht weiter....

ich danke dir erstmal das du dir die Zeit nimmst und mir dabei hilfst ....

Ich bin kein Script Profi, bzw kenne mich auch so nicht sehr gut aus ,
aber ich lerne jeden Tag dazu... :)


Vieleicht kannst du mir ja helfen ganz normal mit hilfe von ftpput eine Datei von a .. nach b zu schicken

ich habe netzwerk a
ip 192.168.1.1
usb stick ... /var/media/ftp/uStor01


Netzwerk B
ip 192.168.2.1
Usb Stick ... /var/media/ftp/uStor01/freigabe


wenn ich

ftpput -v -u "user" -p "pass" 192.168.1.1 /var/media/ftp/uStor01/test.txt /var/media/ftp/uStor01/freigabe

mache dann steht da

Connecting to 192.168.1.1 (192.168.1.1:21)


weiter passiert nix ....


ist vieleicht einfacher ... hier den Fehler zu finden als im Script ...
 
Zuletzt bearbeitet:
Ich finde beide Methoden ziemlich ungeeignet für Synchronisierung. Können "fput" und "wget" überhaupt mit Verzeichnissen direkt arbeiten, oder muss man dann die Synchronisierung dateiweise mühsam durchführen? Das überblicke ich zur Zeit kaum...
Ich mache eine ähnliche Synchronisierung schon seit Jahren zwischen einem PC-basierten Linuxrouter und einem W2K-Server. Beide befinden sich zwar im selben Netzwerk, es würde aber im Prinzip auch in deinem Fall gehen, wenn man sich etwas Mühe gibt.
Zunächst mal generell. Es ist einfacher (und sicherer) von einem entfernten Rechner zu lesen und auf den Rechner schreiben, wo dein Skript ausgeführt wird. Es wäre aber dann eine einseitige Datensicherung (alles wegschreiben), wie bei mir. Theoretisch kann man aber mit meiner Methode in beide Richtungen schreiben.
Zunächst mountest du das entfernte Laufwerk an deiner Box, wo deine Synchronisierung ablaufen soll. Mounten kann über NFS oder SAMBA erfolgen. In deinem Fall würde sich eher NFS anbieten, weil beide Boxen Linux (und hoffentlich ext als Filesystem) haben.
Wenn das entfernte Verzeichnis gemounted ist, kannst du alle üblichen Linux-Befehle ausführen, als ob die beiden Verzeichnisse lokal liegen würden.
Mount/Unmount kannst du in dein Synchronisierungsskript einbauen, damit dein entferntes Verzeichnis nur zu Datensicherungzwecken eingebunden wird.
Man kann diese Synchronisierung soweit treiben, dass du per E-Mail mitgeteilt bekommst, ob irgendwelche Fehler vorliegen. Du kannst da per df checken, ob noch genug Platz da ist (allerdings nur, wenn es gemounted ist!). Und viel mehr, wenn man sich etwas mit skripten auskennt.

MfG
 
Rsync (das bereits am Anfang erwähnt wurde) ist für die Synchronisation viel besser geeignet.

Voraussetzung ist entweder ein automatisierter Login per SSH, oder ein Rsync-Server auf der Gegenseite.
 
Hallo danke für eure Vorschläge, das Synconisieren mit dem einen PC habe ich schon gemacht. Das funktioniert auch soweit ganz gut, nur ist es eben nicht das was ich eigentlich möchte. Die zwei Fritzboxen .. sind beide über ein VPN - Netz verbunden. Ich möchte gern das die Syncronisation der beiden Sticks zu einer bestimmten Uhrzeit erfolgt, vorzugsweise Nachts.

Über das Rsync habe ich mich auch schon belesen, nur bin ich damit nicht sehr weit gekommen. Ich habe nirgens ein Howto dafür gefunden, deshalb habe ich mich dazu entschlossen es mit Hilfe von Bordmitteln der Fritzbox zu versuchen ... Ftpput bzw Wget .. bisher jedoch Erfolglos ...


Vieleicht kann mir jemand bei meinen Ftpput Problem helfen ..
 
Wir haben dir mindestens zwei bessere Varianten als deine ftpput-Methode empfohlen. Warum beharrst du dich daran und versuchst nicht das zu tun, was dir empfohlen wird? Keiner will sich in deine Skripte reinfuchsen, weil man darin keinen Sinn sieht.
Ich kenne mich mit rsync nicht aus, deswegen hatte ich es mit dem mounten über NFS oder SAMBA vorgeschlagen. In diesem Fall hast du beide Verzeichnisse quasi lokal und kannst damit machen alles was du willst. Vermutlich wird damit sogar auch rsync funktionieren. Wo ist denn dein Problem?

MfG
 
Ok ... hermann72pb ... ich würde es auch mit Rsync probieren ...
vieleicht hilfst du mir dabei ? ...

Wie bekomme ich Rsync auf die Fritzbox ?
Ich habe 2 x 7170 mit Freetz Mod ...
wie ich einen neue Firmware (Freetz) erstelle wüßte ich .. nur ist dort keine mölichkeit Rsync auszuwählen ..

Problem 2 Samba ... das habe ich z.Z im Freetz Mod installiert und auch schon mal probiert ... ich bin soweit gekommen das mein Usb Stick in der Netzwerkumgebung (Arbeitsplatz) angezeigt wurde, jedoch war er nicht beschreibar bzw. konnte ich auch keine Verzeichnisse sehen ..
 
Ich kann dir mit rsync nicht helfen. Ich hatte doch geschrieben, dass ich mich damit nicht auskenne und auch nicht vor habe es mir jetzt einzueignen. Zu meinem mount-Vorschlag kann ich dir nur sagen: Lese bitte man-Pages zu mount. Deine Stichwörter sind smbmount oder mount mit -smbfs (es gibt Unterschiede zwischen den beiden!). Vermutlich existiert nfsmount oder mount mit -nfs (oder ähnlich).
Wenn du deine SAMBA-Freigaben nicht zum Laufen bekommst, sehe ich schwarz, dass du mit deinem Vorhaben weit kommst. Normalerweise sollte SAMBA sofort und ohne Probleme funktionieren.

MfG
 
Ich habe viel gelesen Rsync etc aber da komme ich nicht weiter

ich würde es auch mit Rsync probieren

Wenn klar wäre, daß Du es schon ernsthaft versucht hast, würde sich vielleicht auch jemand finden, der Dir über die Probleme hilft.

Wenn aber aus Deinen Beiträgen rüber kommt "Ich habe keine Lust, mach mal jemand anders für mich", dann ist das weniger wahrscheinlich.

Fangen wir mal an mit rsync für Freetz. Gibt die Suchfunktion etwas dazu her? Soll lieber jemand anders für Dich die Suchfunktion bemühen? Hast Du sie schon verwendet und nichts gefunden?
 
Danke für eure Hilfe ....

besonderen Dank an Lemur ...

also ich habe es nicht mit Ftpput bzw Rsync hinbekommen ...

leider...

@RalfFriedl ich wollte hier von niemanden das er mir ein Howto etc schreibt.. sorry wenn das so rüber gekommen ist .. ich bemühe mich wirklich, nur habe ich von linux einfach noch nicht soviel Ahnung. Ich habe viel gelesen bzw. lese immer im Forum bevor ich Frage .. Aber wenn es um Rsync geht, komme ich nicht weiter .. Ich finde viel über Rsync ... nur ist es sehr schwierig wenn man die Grundkenntnisse nicht hat .
Ich lerne viel hier im Forum .. viel durch probieren .. wenn man aus anderen Beiträgen sachen kopiert und für sich selber anpasst.

Z.z nutze ich wget ... das ist zwar kein Syncronisation aber besser als nix


/var/media/ftp/uStor01/timer.sh

#Timer download 01:00 Uhr
while [ "$time" -ne "0100" ]; do
sleep 10
time=`date +"%H%M"`
done
./down.sh &
do exit


/var/media/ftp/uStor01/down.sh

#Download
wget -t 10 -nH -P /var/media/ftp/uStor01/ -r ftp://user:[email protected]/uStor01/Sync/*.*


es ist zwar nicht das was ich mir erhofft habe, aber zweckmässig für mich und es funktioniert.
 
Zuletzt bearbeitet:
Entschuldige meine längere Pause, ich war geschäftlich unterwegs.

Hier hat sich ja zwischenzeitlich einiges getan, scheinbar hast Du mittlerweile auch eine halbwegs funktionable Lösung gefunden. Schau Dir doch das mal an:

http://www.ip-phone-forum.de/showthread.php?t=153871

Vielleicht hilft es Dir weiter.

Grüße Lemur
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.