Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Micha

Fortgeschrittener

  • »Micha« ist der Autor dieses Themas

Beiträge: 378

Beruf: Management

Rootserver vorhanden: Ja

  • Nachricht senden

1

Montag, 30. September 2013, 11:41

Backup mit Rsync + Curlftpfs auf externen FTP Server!

Hi, ich wollte hier mal nachfragen ob es klug ist wie ich meine Backups mache, oder ob es da Verbesserungsvorschläge gibt.

Ich habe mir mit Curlftpfs einen externen FTP Server als Ordner im Hauptverzeichniss des Dedicatet Servers angelegt und gemountet.

Dann habe ich mir ein Script mit diversen Rsync Befehlen erstellt die mir die Ordner der Gameserver im /home Verzeichnis sichern, das ganze läuft so das ich das Script nun jeden Mittwoch um 5 Uhr per Cronjob aufrufe und der Server dann alle Dateien mit denen des FTP Servers abgleicht. Gelöschte Dateien auf dem Gameserver werden auch auf dem FTP Server gelöscht, werden aber zur Sicherheit nochmal unter einem zweiten Ordner abgelegt, solche Funktionen bringt Rsync ja bereits mit.

Im Script wird übrigens erst gemountet und dann alle Rsync Kommandos abgearbeitet danach wird der FTP Server direkt wieder ausgehackt also unmounted.

Wie ist das denn so von der Sicherheit, die Verbindung läuft ja über FTP Server und Dateien werden unverschlüsselt übertragen? Zudem die Frage zur Rsync Option --bwlimit 1000 die normalerweise die Bandbreite zwischen den Servern auf max. 1000KB limitieren soll, da kann ich aber eintragen was ich möchte, der Server zieht immer mit voller Geschwindigkeit. Problem ist dann eben das die Pings auf den Gameservern dann übelst hoch gehen und es teilweise auch laggt, ist ja klar wenn mit 7-8MB runtergeladen wird, ist zwar nicht so tragisch da um 5 Uhr meistens keiner drauf ist dennoch sollte das doch funktionieren?

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

2

Montag, 30. September 2013, 12:09

Curlftpfs kann auch SSL/TLS (es gibt auch noch sshfs für SFTP verbindungen)
http://linux.die.net/man/1/curlftpfs

Das bwlimit in rsync ist so eine sache für sich. Es greift eigetlich nur wenn größere Dateien übertragen werden, z.B. ein archiv, nicht aber bei tausenden von kleinen Dateien.
Ein workaround wäre z.B. "trickle" http://stackoverflow.com/questions/10064…eed-not-working oder limitierung via iptables.

Lacrimosa99

Fortgeschrittener

Beiträge: 275

Wohnort: Leipzig

Beruf: IT-Systemintegrator

Rootserver vorhanden: Ja

  • Nachricht senden

3

Montag, 30. September 2013, 16:58

Würd es durch nen SSH Tunnel schicken wenn du die gegenstelle mountest.. somit wäre die gefahr geringer, dass von aussen jemand die Daten abgreift ;)




DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

4

Montag, 30. September 2013, 17:27

Ich finde das Einhängen über fuse/curlfpts erzeugt zu viel Overhead.

  • Auf dem Backupserver einen Rsyncdaemon einrichten.
    Den Dienst würde ich aber eher als Daemon laufen lassen und nicht über xinetd. Es ist noch anzumerken, dass hier keine Verschlüsselung stattfindet. Wenn du dem Netzwerk nicht traust und z.B. Personenbezogene Daten überträgst, solltest du weiterhin rsync via ssh nutzen.
  • Lokal mit Rsnapshot inkrementell sichern.
  • Täglich, wöchentlich oder monatlich in ein tar.gz sichern und mit rsync auf den Backupserver schieben. Dort noch eine Routine einbauen, dass beim Fehlschlagen des Transfers eine E-Mail geschickt wird. Rsync hat viele Returncodes.

Micha

Fortgeschrittener

  • »Micha« ist der Autor dieses Themas

Beiträge: 378

Beruf: Management

Rootserver vorhanden: Ja

  • Nachricht senden

5

Dienstag, 1. Oktober 2013, 08:50

Curlftpfs kann auch SSL/TLS (es gibt auch noch sshfs für SFTP verbindungen)
http://linux.die.net/man/1/curlftpfs


Danke, das mit SSL werde ich heute mal asuprobieren, das wäre doch eine gute Alternative zu SSH.

Würd es durch nen SSH Tunnel schicken wenn du die gegenstelle mountest.. somit wäre die gefahr geringer, dass von aussen jemand die Daten abgreift


Das Problem ist das der FTP Server einfach nur ein FTP Server ist, im Prinzip ist das normaler Webspace, ich glaube nicht das ich diesen Server über SSH ansprechen kann, werde aber mal mit meinem Provider sprechen.

Lokal mit Rsnapshot inkrementell sichern.
Täglich, wöchentlich oder monatlich in ein tar.gz sichern und mit rsync auf den Backupserver schieben. Dort noch eine Routine einbauen, dass beim Fehlschlagen des Transfers eine E-Mail geschickt wird. Rsync hat viele Returncodes.


Das könnte auch noch eine Alternative sein, werd ich mir mal näher anschauen.


Ich hab gestern Abend mal nachgesehen ob Rsync bereits den kompletten Server auf dem FTP Server gespiegelt hat, ich hatte das Backup Script Sonntagabend gegen 23 Uhr gestartet, insgesamt waren ca. 70GB zu sichern, das hat bis Montagabend 22 Uhr gebraucht. Beim nächsten durchlauf am Mittwoch sollte das aber schneller laufen da Rsync die Dateien nur noch abgleicht und nur die geänderten ablegt.

Lacrimosa99

Fortgeschrittener

Beiträge: 275

Wohnort: Leipzig

Beruf: IT-Systemintegrator

Rootserver vorhanden: Ja

  • Nachricht senden

6

Dienstag, 1. Oktober 2013, 21:52

Du kannst alle Verbindungen die "fest" sind durch einen SSH Tunnel schicken ;)

Hatte mich extra nochmals rückversichert bei meinem Dozenten und er hatts mir bestätigt =)

Alles was ne feste IP hatt... kannst "durchjagen" ;)

Bei einer Dynamischen isses etwas schwerer wegen der wechselden IP...

MfG




DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

7

Dienstag, 1. Oktober 2013, 21:55

Das Problem ist das der FTP Server einfach nur ein FTP Server ist, im Prinzip ist das normaler Webspace, ich glaube nicht das ich diesen Server über SSH ansprechen kann, werde aber mal mit meinem Provider sprechen.


Aus dem Grund würde ich auf die FTP-Krücke verzichten. Mal abgesehen von dem Problem mit dem Besitzer und den Dateiberechtigungen, hast du noch erheblichen Overhead aufgrund des FTP-Protokolls. Da fände ich persönlich inkrementelle Backups als tar.gz besser. Auch dafür gibt es bereits fertige Lösungen.

Micha

Fortgeschrittener

  • »Micha« ist der Autor dieses Themas

Beiträge: 378

Beruf: Management

Rootserver vorhanden: Ja

  • Nachricht senden

8

Mittwoch, 2. Oktober 2013, 08:49

Alles was ne feste IP hatt... kannst "durchjagen"


Ok, das muss im mir morgen mal genauer anschauen, ich bin davon ausgegangen das man auf der Gegenseite (Backupserver) mindestens auch SSH Zugang benötigt, feste IP hat der Server natürlich, dann sollte es ja auch funktionieren.

Aus dem Grund würde ich auf die FTP-Krücke verzichten. Mal abgesehen von dem Problem mit dem Besitzer und den Dateiberechtigungen, hast du noch erheblichen Overhead aufgrund des FTP-Protokolls. Da fände ich persönlich inkrementelle Backups als tar.gz besser. Auch dafür gibt es bereits fertige Lösungen.


Die Dateirechte sind kein Problem, du kannst Rsync anweisen die Rechte mitzugeben (funktioniert auch!):

Quellcode

1
-p behält Rechte der Quelldatei bei


Die Gruppenrechte und Besitzerrechte können aber nicht mitgegeben werden, dazu werden auf dem FTP Server Root Rechte benötigt, die habe ich natürlich nicht da Webspace. Ist aber auch kein Problem, denn wenn man später alles zurück auf den Gameserver kopiert kann man die Besitzer und Gruppenrechte ja rekursiv wieder setzen. Wenn du das Backup packst besteht zudem immer die Gefahr das später das Archiv defekt ist, deshalb sichere ich persönlich lieber die einzelnen Dateien unkomprimiert.

Ich möchte auf den FTPWebspace nicht verzichten, ist sehr günstig und läuft zudem noch sicher im RAID5, von daher muss ich eben mit FTP leben oder versuche es nun nochmal über SSH.

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

9

Mittwoch, 2. Oktober 2013, 20:21

Wenn du das Backup packst besteht zudem immer die Gefahr das später das Archiv defekt ist, deshalb sichere ich persönlich lieber die einzelnen Dateien unkomprimiert.


Also mal angenommen, dass trotz TCP Bits beim Transfer kippen, wären auch die einzelnen Dateien betroffen. Worauf ich aber eher hinaus wollte ist die Perfomance. Bei vielen Dateien, die dann auch noch in vielen Unterverzeichnissen sind, braucht FTP deutlich länger. Das liegt daran, dass der Client ls nicht rekursiv anwenden kann. Es ist zwar in bestimmten Servern implementiert, aber eher die Seltenheit. Da dann noch curlftps dazwischen hängt, hast du eine weitere Schicht, die alles verlangsamt. Da geht die Abwicklung einer großen Datei schneller.

Sicherst du die Serverdateien, welche von steamcmd heruntergeladen werden, auch auf dem FTP-Server?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#excludefile leeren
> rsync.excludefile

#rsync.excludefile für css csgo l4d2 und tf2 erstellen
for server in css csgo l4d2 tf2; do
    find /home/xxx/vanillaserver/$server -printf '%P\n' >> rsync.excludefile
done

#Dateien ausschließen: motd.txt, mapcycle.txt, motd.txt
for file in motd.txt mapcycle.txt motd.txt; do
     sed -i "/$file/d" rsync.excludefile
done


Beim Rsync die Excludefile mit einbinden. Spart Traffic, Zeit und es wird nur das veränderte gesichert. Zusätzlich könntest du z.B. noch die logs excludieren.


PS: Falls du Dateilisten für frisch installierte Server benötigst, kann ich welche Hochladen.

Micha

Fortgeschrittener

  • »Micha« ist der Autor dieses Themas

Beiträge: 378

Beruf: Management

Rootserver vorhanden: Ja

  • Nachricht senden

10

Mittwoch, 2. Oktober 2013, 21:29

Ich hab ja TF2 Server laufen und da sichere ich nur das /tf Verzeichnis, könnte ich noch etwas verfeinern, denn da sind ja auch teilweise noch viele Steamcmd Dateien drinnen.

Mein Script schaut so aus, hab der Übersicht halber jetzt mal nur eine Zeile von Rsync eingebunden, in Wirklichkeit sind es 12 Server + alle Ordner des /home Verzeichnisses.
Kurz erklärt, hier wird im Hauptverzeichnis des Servers der Ordner /ftp eingebunden und dann mittels Rsync die Backups auf diesen Ordner geschoben, sind alle Rsync Zeilen abgearbeitet wird der Ordner wieder unmounted.

Quellcode

1
2
3
4
#!/bin/sh
mount -o nonempty curlftpfs#benutzer:passwort@domain.tld /ftp \-t fuse -o ssl_try,auto,user,uid=500,tlsv1,allow_other,disable_eprt,_netdev
rsync -rlptvzcb --progress --delete --bwlimit=500 --backup-dir=/ftp/geloeschte_dateien/ --temp-dir=/var/tmp/rsync /home/gameserver/g_tf2_1/tf /ftp/g_tf2_1
umount /ftp


So eine Liste könntest du mir mal schicken, wie gesagt dann für TF2, danke.

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

11

Montag, 7. Oktober 2013, 22:32

http://downloads.sourceserver.info/serve…013-10-07_22_28

Nicht vergessen aus dieser Liste die motd.txt und andere Dateien zu filtern, die auf jeden Fall gesichert werden sollen.

Ähnliche Themen