PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : logs und sync und zwei server



aushilfs Admin
22.11.04, 16:38
hi leutz!

muss leider dazu sagen das ich noch nicht ganz fit in allen linux bereichen bin.

kann aber schon selbständig LAMP systeme aufstezten und konfigurieren. *schulterklopf* mit emacs und vi kann ich auch schon umgehen ;)
also ganz zu dämlich bin ich eigentlich nicht.

Aber nun hab ich allerdings ein kleines problemchen!

ich möchte log dateien von eineme entfernten server auf meinen lan host kopieren um sie da per awstats auszuwerten.

Ich würde gern die logs einmal am tag vom server holen evt die dateien überschreiben oder die dateien auf änderungen prüfen ...

jetzt hab ich schon ewigkeiten gegooglet und nur so sachen wie rsync oder .netrc gefunden, hab mich auch schon an .netrc versucht aber leider erfolglos.. (permission denied / oder can´t find macro )

da ich diese packete und vorgehensweisen vorher nicht kannte ersuch ich hier um ein wenig hilfe zu so einem macro... oder progrämlie

vieleicht kennt ja jemand von euch einen passenden link
oder hat einen tip ob ich es doch besser anders machen sollte
... für mich ist halt das syncronisieren von daten !!!noch!!! ein buch mit sieben siegeln.

würde mich über jede antwort freuen und danke allen schon einmal für´s lesen

Vielen Dank
Daniel

Tomek
22.11.04, 16:41
Es gibt viele RSYNC-Anleitungen, wie z.B. diese:
http://medienzentrum-oberberg.de/cgi-bin/mz_download.pl?d=rsync.pdf
http://www.linuxnetmag.com/de/issue8/m8rsync1.html

Benutze bitte auch die Boardsuche.

aushilfs Admin
22.11.04, 16:57
TÜRLICH ;)

1000 Dank für deine schnelle Antwort!

werd mir mal die rsync gleich bei einem gemütlichen glass rotwein ansehen...

danke für die links!
hab selber nur so schrottige HowTo´s gefunden!

Die PDF gefällt mir schonmal sehr gut!

vieleicht noch an alle anderen: wäre trotzdem später um ein räuberleiter froh wenn ich nicht weiter komme!!! ;)

cya
daniel

aushilfs Admin
23.11.04, 10:03
da bin ich wieder ;)

benutze RedHat Enterprise Server 3 und find die rsync.conf einfach nit!!!
kann ja sein das ich sie noch anlegen muss aber wo gehört diese hin??
werd da noch nicht ganz schlau aus den PDF-Tutorial
da mein rsync die ganze zeit sagt

[root@local logs]# rsync --partial Server.log my.remote.de:uploadtmp/
ns.my.remote.de: Connection refused
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(165)
[root@local logs]#

muss doch irgendow noch die passwörter angeben ...
hm ... bin anscheinend doch zu dämlich für rsync .... werd zwar weiter probieren ...

aber warum er nicht verbinden kann ist mir noch nicht ganz klar!

rsync ist auf beiden maschienen installiert! und auf beiden leuft RedHat

aber wo kommt das passwort hin...
(leider bin ich im scripten auch noch nit so fit) oder muss ich da so ein perl oder shell script schreiben wo die passwörter drinne sind ?? ...


SORRY!! für viele ist es bestimmt schon das 1000x das ihr so nem noob wie mir helft... aber vieleicht klappts ja noch einmal ;)

Danke


macht es sinn rsync als root ausführen zu lassen? oder aus sicherheits gründen besser nicht??? (weil die dateien die per ssh(da bin ich zwar noch lange nicht) transferiert werden sollen, müssen dem beitzer/Benutzer gehören)

Tomek
23.11.04, 10:05
Ja, die du musst bei Red Hat/Fedora selbst die /etc/rsyncd.conf erstellen. Schau nochmal bitte in die Manpage von rsync:

SYNOPSIS
rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

rsync [OPTION]... [USER@]HOST:SRC DEST

rsync [OPTION]... SRC [SRC]... DEST

rsync [OPTION]... [USER@]HOST::SRC [DEST]

rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST

Du solltest diese Syntax verwenden für rsync:

rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

aushilfs Admin
23.11.04, 10:09
boah .... dat geht hier sowas von fix ;)


danke werd mal probieren

ach eh ich hatte den letzten beitrag noch geändert ... aber ich probier esrt mal das eine ;)

Tomek
23.11.04, 10:18
Der rsyncd kann ruhig als root laufen. Du kannst aber noch einige Sicherheitsrelevante Optionen in der /etc/rsyncd.conf einstellen, die die Sicherheit erhöhen:

uid = nobody
gid = nobody
use chroot = yes
Damit greift z.B. der rsyncd auf die Dateien als User nobody zu. Die Option "use chroot = yes" sperrt den Benutzer in dem freigegeben Verzeichnis ein.

Alle weiteren Optionen kannst du hier einsehen:
http://samba.anu.edu.au/ftp/rsync/rsyncd.conf.html

aushilfs Admin
23.11.04, 10:25
ja die hab ich auch gerade gefunden ;)

http://samba.anu.edu.au/ftp/rsync/rsyncd.conf.html

alledings überlege ich die ganze zeit von welchem server aus ich schiebe oder ziehe und wo ich die .conf anlege (rechner) ? ??

vorallem welcher ordner zb bei
[ftp]
path = /home/ftp
comment = ftp export area

gemeint ist. ist das aus dem ich daten hole oder in den ich daten packe?

hab da warscheinlich einfach noch ein paar verständniss probleme.
aber ich bin aufgeschlossen und lern willig ...
ich hoffe ich nerv TOMEK noch nicht ;)

Tomek
23.11.04, 10:30
[ftp]
path = /home/ftp
comment = ftp export area

Das ist die Freigabe auf dem Server wo rsynd läuft. Auf dem Client könntest du dann z.B. mit rsync wie folgt darauf zugreifen:

rsync rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/

aushilfs Admin
23.11.04, 10:44
jo mein erster datei transfer hat geklappt
DANKE TOMEK!!!! :)
die dateien werden dann aber auf dem localen rechner trotzdem chroot als root geschrieben (macht aber nix)
wie sieht das denn bei logs aus ???
sollt ich das ganze ding jetzt noch per ssl sicherer machen??
geht von rsync ne gefahr aus wenn die rechner im inet sind???
und kann ich de befehl den ich jetzt benutze hab :
rsync rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/

kann ich den befehl in der crontab einfach so eintragen ??? mit den entsprechenden optionen halt (--verbose -a etc ) oder sollte ich das lieber in ein script packen(dann hätte ich wieder mehere Fragen an dich TOMEK ;) )

noch einmal kurz dann haben wir´s fast geschaft ;)

1000 Dank trotzdem schon einmal ... hat auf jeden schon ein wenig was gebracht ( versteh nun rsync ein wenig besser )

Tomek
23.11.04, 10:56
die dateien werden dann aber auf dem localen rechner trotzdem chroot als root geschrieben (macht aber nix)
Hmm? Wenn ich dich richtig verstehe, willst du, dass die Owner der Dateien mit übernommen werden, ja? Dann solltest du dir folgende Optionen anschauen:

-o, --owner
This option causes rsync to set the owner of the destination file to be the same as the source file.
On most systems, only the super-user can set file ownership. By default, the preservation is done by
name, but may fall back to using the ID number in some circumstances. See the --numeric-ids option for
a full discussion.

-g, --group
This option causes rsync to set the group of the destination file to be the same as the source file.
If the receiving program is not running as the super-user, only groups that the receiver is a member of
will be preserved. By default, the preservation is done by name, but may fall back to using the ID
number in some circumstances. See the --numeric-ids option for a full discussion.


wie sieht das denn bei logs aus ???
Du willst Logging auf dem Server aktivieren? Beispiel:

log file = /var/log/rsyncd.log

[ftp]
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.


sollt ich das ganze ding jetzt noch per ssl sicherer machen??
Soweit ich weiss, kann rsync von sich aus kein ssl.


geht von rsync ne gefahr aus wenn die rechner im inet sind???
Bei richtiger Konfiguration normalerweise nicht. Verwende komplexe Passwörter, setze eine Version ein, die keine bekannten Sicherheitslücken beinhaltet. Optional könntest du auch per iptables bestimmen, welche IP(s) auf der rsync-Server verbinden dürfen.


und kann ich de befehl den ich jetzt benutze hab :
rsync rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/
kann ich den befehl in der crontab einfach so eintragen ??? mit den entsprechenden optionen halt (--verbose -a etc ) oder sollte ich das lieber in ein script packen(dann hätte ich wieder mehere Fragen an dich TOMEK ;) )
Ja könntest du. Aber sowas packt man besser in ein Script rein. Benutze bitte Passwörter. Wenn du Passwörter in einer Datei speicherst oder im Script beim Befehl übergibst, achte darauf, dass die Passwort-Datei oder das Script nicht von jedem Benutzer einsehbar sind (sowohl auf dem Server, als auch auf dem Client).

aushilfs Admin
23.11.04, 11:11
AAAARG missverständniss!!!!

neine nein eigentlich funktioniert jetzt alles so wie es sollte...

logging meinte ich garnicht ...es ging einfach um das übertragen von logdateien und ob man die sinnvoller weise verschlüsseln sollte oder nicht ;)

das mit dem owner und user ist eigentlich egal ... da sie eh von andern nutzern nicht einseh bar sind ... und der zugriff auf die dateien sauch so funktioniert ;)

wegen SSL das hab ich den tuts über all gelesen muss wohl MIT rsync funktionieren

dann warscheinlich irgend wie so :
rsync -e ssl rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/

oder rgendwie rsync -e "ssl -l benutzer"

aber wäre ja nicht so wichtig wenn rsync ansich ja auch sicher ist ( iptable zb)

allerdings ist mir aufgefallen, als cih eben so die dateien kopiert hatte
rsync rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/
hat er mich nicht nach einem passwort gefragt wie kommt das?

muss ich das dan noch in der..conf..... halt da hab ich was gelesen mit den access datein .... (kommando zurück werd mir das mit der passwort datei nach einmal ansehen)

ja zwecks script :( ... gehts mit meinen kenntnissen natürlich bergab ;( ... hab noch nie so nen shell perl script gebaut ...
hab leider keine ahnung davon ... würde es selber wenn per crontabs lösen aber wenn ich jetzt da ein ne password abfrage drin hab gehts ja quasie per crontabs nit mehr ... dann muss ich ja ein script schreiben...oder?


Tomek mal einfach so: DU BIST KLASSE!!!!! :D

Tomek
23.11.04, 11:52
Beispielkonfiguration

Server

/etc/rsyncd.conf (chmod 755):

log file=/var/log/rsyncd.log

[ftp]
comment = Beispiel Freigabe
path = /home/ftp
use chroot = yes
max connections=5
read only = yes
list = yes
uid = root
gid = root
auth users = user1
secrets file = /etc/rsyncd.secrets
ignore errors = no
ignore nonreadable = yes
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
timeout = 600
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

/etc/rsyncd.secrets (chmod 600):

user1:aeDahf5x

Client

/etc/crontab:

30 6 * * * root /root/scripts/rsync-ftp

/root/scripts/rsync-ftp (chmod 700):

#!/bin/sh
/usr/bin/rsync --password-file=/root/.rsyncpwd rsync://user1@dein.server.de/ftp/* /data/ftp/

/root/.rsyncpwd (chmod 600):

aeDahf5x

aushilfs Admin
23.11.04, 12:10
;) ich find zu geil .... danke danke danke .... wenn de nähe Köln bist sag mal bescheid dann gehen wa ma ein bier trinken, weil das geht auf mich!
;)

hab das alles soweit gemacht bis auf die crontab bis jetzt wie du es oben geschrieben hast ... allerdings passiert jetzt jenes:

./rsync-ftp
@ERROR: auth failed on module logs
rsync: connection unexpectedly closed (88 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(165)

das passwort wird doch nicht iom klartext inddir rsyncd.secrets geschrieben??? oder ???

und in dem hübschen neuen log steht sowas drine (ich versuche von zwei rechnern damit ich sehe wann´s sicher sein sollte)

2004/11/23 13:32:26 [10047] auth failed on module logs from p508D67f.dip.t-dialin.net (T-OnlineIP)
2004/11/23 13:33:19 [10066] auth failed on module logs from ns.my.local.de (IP)


und ich hab noch was gefunden, falls es dich mit der SSH sache interessiert:

http://linuxlog.de/item/backupmitrsync

aber diese passwort variante von dir gefällt mir noch am besten, da ich es auch verstehe ;)




darf ich dich mal in ICQ anhauen??? hab zwar nur den iCHat aber damit müsste ich auch mit dir quatschen können!

aushilfs Admin
23.11.04, 12:36
sorry muss mal *pushen* ;)


ok scheint an dem teil in der conf zu liegen

auth users = michael test

hab anscheinend irgendeinpaswort problem oder berechtigungs problem, dabei hab ich aber alles o gesetzt wie verlangt (600/700/etc)

hm sorry steh mal wieder ein wenig aufm schlauch ... (was neues ;))


ich bau hier glaub ich ne kleine sammlung ;)

das hier hat auch nicht funktioniert

Rsync Tipps





Das Passwortfile auf dem rsync "client" darf nur ein Passwort drinn haben, der Username gehört da nicht rein!

Immer eine Newlie am ende vom Passwortfile machen sonst spinnt rsync!
<typolist>

</typolist>
das Rsync auf dem Server und Client sollte die selbe Protokollversion benutzen.

aushilfs Admin
23.11.04, 13:32
hihi ok

das mit dem ssh hab ich auch hinbekommen ... nur mein problem ist jetzt man kann über beides die datein abholen ... jetzt würd ich gerne die nicht SSH abholungen verbieten ...
jemand ne ahnung ???


ohne SSH geht:
rsync rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/

und mit ssh geht:
rsync -e ssh rsync://user@server.irgendwo.de/ftp/* /kopie/bei/mir/zuhause/

welz ja schon neben bei die man pages ... aber ...*puh* manchmal geht das fach latein ganzschön an die nerven .. aber des passt scho

fänds toll wenn jemand noch ne idee hat ??

aushilfs Admin
23.11.04, 13:47
ok ich weis macnhmal können meine selbstgespräche sehr belustigend wirken ...


habs aber nun hinbekommen ... ich machs einfach mit
host allow myIP

in der .conf

nun hört er nur noch auf einen rechner ;)

danke TOMEK für die denk anstöße !!! ...

vieleicht hilft das alles ja mal irgend jemanden der auch problemchens mit rsync oder log transferieren hat !

gruß und closed

DANIEL :D

Tomek
23.11.04, 15:02
Ich war in der Stadt unterwegs. Hast es ja nun selbst hinbekommen, fein. Die Passwörter bei meinem Beispiel waren übrigens im Klartext-Format.
Und sicherlich hilft dieser Thread anderen bei der Einrichtung von rsync, aber auch nur, wenn sie die Suchfunktion des Forums benutzen, was die größte Hürde für viele zu sein scheint. ;)