PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rsync / ftp und ein Network Hard Drive ?



HUWagner
19.04.08, 21:57
Ich kaufte Iomega Network Hard Drive Model MDHD320-N weil auf der Packung stand "Ethernet PC / Mac / Linux".

Nun will ich rsync und ftp zum Synchronisieren meiner
Linux Maschine mit der Network Hard Drive - Festplatte verwenden.

Bisher habe ich es noch nicht geschafft. Weiß jemand wie es geht ?

rjg-vB
25.04.08, 21:03
rsync geht über ftp nicht, weil rsync eine remote shell auf dem Zielrechner starten muss. Standardmäßig nimmt es ssh, mit telnet geht es auch, aber nur mit vielen Tricks und Umwegen.
Um auf eine Netzwerkplatte mit rsync zu synchronisieren, muss das Betriebssystem der Platte also ssh und rsync unterstützen.

Ansonten kann man ein Netzlaufwerk in das lokale System einbinden, und rsync lokal laufen lassen.
Eine Platte, die Windows unterstützt, müsste mit Samba gemountet werden können - dazu muß man sie in fstab als smbfs oder cifs FIlesystem eintragen, je nach Distribution. Fast alle Howtos verwenden smbfs, Suse ist seit 10.1 auf cifs umgestiegen. Exakte Einträge hab ich leider nicht mehr parat, sollten aber im Forum oder über Google binnen 15-30 min zu Finden sein.

Sollte die Platte nur ftp unterstützen, gibt es curlftps, mit dem man einen ftp Server local mounten kann (können soll, ich hab's unter SUSe nicht hingekriegt, gehört z. Zt. auch nicht zur Distribution).

Viel Erfolg und viel Spass!

rjg-vB
26.04.08, 07:17
Jetzt weiß ich wieder, warum curlftpfs bei mir nicht funtkionierte:
Der ftp Server hatte ein Timout, und der Aufbau der rsync Liste in Vorbereitung der Synchronisation dauerte zu lange. Dieses Problem berichteten etliche, die diese Kombination rsync und curlftpfs versuchten, vor allem bei den kleinen ftp Server der embedded systems (Netzwerklaufwerke sind in aller Regel embedded linuxe).
Viel Erfolg mit dem Iomega!

Ansonsten wäre vielleicht ein



find [path] -newer [timestamp] | ftp ....
touch [timestap]


hilfreich. ftp kenn ich nicht gut genug, um die Lösung so hinzuschreiben es gibt aber die Möglichkeit, ftp Dateitransfer über ftp skripte zu automatisieren. Google gibt viel her, man ftp ebenfalls.

HUWagner
01.05.08, 22:13
Dank der Hilfe im Iomega Forum konnte ich die Platte montieren und rsync zumindest teilweise benutzen (Sorry the other forum is in English):

http://www.iomegasupportforums.com/phpbb2/viewtopic.php?t=12277

First I must enable the smb option on the network hard disk and create a PUBLIC folder and a password for it using the browser interface. After creating a folder /media/nfs I can do as root:

# mount -t smbfs -o username=xxx,password=xxx //192.168.x.x/public /media/nfs

But it works only as root. Then I can do (as root)

# rsync -e rsh --verbose --times --recursive /home/huw/folder/ /media/nfs/huw/folder/

and the folder is copied to the network hard drive.

But two things are troublesome:
1) I can do it only as root. Changing the directory owner is not permitted.
2) The dates/times of the files are changed to the actual date/time and the original date/time is not preserved.

Does anyone know a solution for 1) and/or 2) ?

Many thanks for the help and the hints.

rjg-vB
04.05.08, 16:02
1. man mount:

user
Allow an ordinary user to mount the file system. The name of the mounting user is written to mtab so that he can unmount the file system again. This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line user,exec,dev,suid).
users
Allow every user to mount and unmount the file system. This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line users,exec,dev,suid).


Benutze also


# mount -t smbfs -o username=xxx,password=xxx,user //192.168.x.x/public /media/nfs
oder


# mount -t smbfs -o username=xxx,password=xxx,users //192.168.x.x/public /media/nfs

edit: Sorry - ist natürlich nur die halbe Wahrheit.
Mounten benötigt immer root-Rechte. Ein normaler User kann nur Laufwerke mounten, die in /etc/fstab eingetragen, und mit den obigen Optionen user bzw users gekennzeichnet sind.

also bitte in /etc/fstab mit dem Lieblingseditor eine Zeile anfügen:


//192.168.x.x/public /media/nfs/ smbfs username=xxx,password=xxx,users(,auto) 0 0

und dann sollte mit der Option auto das Laufwerk beim Booten automatisch eingehängt werden, die Option users erlaubt wie oben erläutert das mounten durch normale user.
Vergleiche auch man fstab

2. man rsync:

-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)


Benutze also besser


rsync -e rsh -archive /QUELLE /ZIEL

HUWagner
04.05.08, 21:52
Danke für die Hilfe, hab's ausprobiert und folgende Fehlermeldung erhalten:

tux1:~ # mount -t smbfs -o username=xxx,password=xxx,users \
> //192.168.x.x/PUBLIC /media/nfs
mount error: Invalid argument
Please refer to the smbmnt(8) manual page
smbmnt failed: 255

In "man mount" fand ich folgende Zeile:
Mount options for smbfs
Just like nfs, the smbfs implementation expects a binary argument (a struct smb_mount_data) to the mount system call. This argument is con-
structed by smbmount(8) and the current version of mount (2.12) does not know anything about smbfs.

In "man submount" steht als Aufruf:
SYNOPSIS smbmount {service} {mount-point} [-o options]
Was ist {service} ?

Ich benutze:
Linux tux1 2.6.8-24.25-default #1 Thu Aug 24 09:57:32 UTC 2006 i686 athlon i386 GNU/Linux

rjg-vB
05.05.08, 21:58
Es ist eine ganze Weile her, das ich das Problem für mich gelöst hatte, deshalb leider keine perfekte Lösung...

smbmount wird nicht direkt aufgerufen, sondern von mount, die manpage erläutert die smb spezifischen Optionen. {service} ist hier der SMB-Server.

Wenn ich mich recht entsinne, funktiniert das mounten mit der Option users bei smb nicht, ist aber auch nicht notwendig.
Der entscheidende Part ist der Eintrag in der /etc/fstab. Wenn der passt, sollte alles funktionieren. Ich würde die Option auto benutzen, da sich der Samba-Share dann automatisch einbindet.
also:


//192.168.x.x/public /media/nfs/ smbfs username=xxx,password=xxx,auto 0 0


an die /etc/fstab anhängen.

Bei mir hatte es damals mit openSuse 10.1 nicht funktioniert, weil Suse von smbfs auf cifs umgestiegen ist, somit.



//192.168.x.x/public /media/nfs/ cifs username=xxx,password=xxx,auto 0 0


Hab zur Zeit keine Möglichkeit mehr, dass zu überprüfen, viel Erfolg bei den Feinheiten.

Übrigens - nfs ist das genuine NetFileSystem von Linux. wäre da nicht /mnt/smb oder /media/Iomega oder so was ein sinnigerer Einhängepunkt?
Ist natürlich letztlich völlig egal....

cane
05.05.08, 22:09
Bei mir hatte es damals mit openSuse 10.1 nicht funktioniert, weil Suse von smbfs auf cifs umgestiegen ist, somit.

SMBFS ist deprecated, wurde ja sowieso schon länger nicht mehr weiterentwickelt, und fliegt daher bald überall raus - besser immer CIFS verwenden.

mfg
cane

HUWagner
06.05.08, 07:52
Danke für die Hilfe, jetzt muss ich testen.
Melde mich wieder mit dem Ergebnis.

MfG, HUW.