Linux.rsync: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 111: Zeile 111:
   ln -s /var/lib/mysql mysql
   ln -s /var/lib/mysql mysql


Besser ist es für diese Verzeichnisse wiederum eine rsync-Freigabe anzulegen!
Besser ist es für diese Verzeichnisse wiederum eine weiterne, eigene rsync-Freigabe anzulegen!
 
ACHTUNG: die Quelle nicht mit "*" angeben, dadurch verbleiben Verzeichnisse auf dem Replikat. die auf dem Original längst gelöscht sind. Ausserdem können dadurch mit einem Punkt beginnende Dateien nicht gesehen werden. Einfach die Root Verzeichnisse angeben.

Version vom 23. Mai 2005, 07:42 Uhr

rsync als Backup Hilfsmittel

  • am Quell-Server

rsync Dämon muss laufen

 rcrsyncd status

wenn nicht läuft mit YaSt Runlevel 3 und 5 setzten und für den Moment aktivieren. Nun den Dämon konfigurieren:

joe /etc/rsyncd.conf

Der Inhalt der Datei sollte folgendermassen aussehen.

gid = users
read only = true
use chroot = true
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
host allow = 192.168.115.0/255.255.255.0
  
[srv]
  path = /srv
  read only = yes
  list = yes
  uid = nobody  ODER root²
  gid = nobody  ODER root²
  hosts allow = 192.168.115.94

²Zugriffsprobleme auf Quelldateien: Werden nicht alle Dateien übertragen sollten die Zugriffsrechte, mit denen rsync die Dateien auf dem Quellsystem lesen kann erhöht werden.

  uid = root
  gid = root
  • Einstellungen auf dem Backup-System

rsync einfach mal ohne Parameter eingeben! muss gehen! Wenn nicht "rsnyc" installieren

 rsync 

Oder sehe ich den rsync-Server?

 telnet <HostIP> 873    // oder
 rsync <HostName>: 

es muss das Wort RSYNC erscheinen, ansonsten hört dir niemand zu! Oder eine Firewall verhindert die Verbindung.

Backup-Ziel-Verzeichnis vorbereiten:

Ich wollte ein backup von "heute" und eines von "gestern" haben. Also habe im in meinem /backup-Pfad zwei Unterverzeichnise gemacht: (immer chmod 0777 nur so zur Sicherheit)

backup/0 und backup/1

hat man also eine Datei heute ausversehen gelöscht ist sie im anderen Pfad sicher noch vorhanden. Es ist dem Konzept der alternierenden Bänder ähnlich, bei der man Datensicherungen mit 3 Bändern immer alternierend durchführt: 0,1,2,0,1,2 usw.

Datensicherungslauf automatisch mit cron starten

cron ist ein Dämon der zeitgesteuert Programme startet. Hierbei

Stelle sicher, dass cron als Dienst läuft (YaST2->System->runlevel editor)

jetzt noch /etc/crontab editieren, und folgenden Eintrag machen:

 #min    hour        daymo   month   daywk   usr   cmd
 0   9,12,15,18,22   *       *       *       root  /root/backup.sh

Datensicherungs Script backup.sh

das /root/backup.sh sollte so aussehen

 ------------------------------snip
 #!/bin/bash
 
 # 
 # Bestimmen hier, wieviele Backup-Sätze die bevorraten willst.
 # In meinem Fall "2", also heute und gestern, bei entsprechendem
 # Plattenplatz kann das aber auch 20 oder 30 sein!
 #
 ANZAHL_BAENDER=2
  
 #
 # Hier wird eine alsolute Tag-Nummer ermittelt. Mit Hilfe des Modulo-
 # Operator erhält man die entsprechende "Band-Nummer", beginnen bei
 # Null (0).
 #
 BAND=$((($(date +%s)/86400)%$ANZAHL_BAENDER))
  
 #
 # mit dem touch ist es leicht möglich zu sehen wann der rsync
 # zuletzt "0", "1", ... bearbeitet hat.  
 #
 touch /backup/$BAND
  
 # 
 # jetzt der rsync an sich bwlimit verhindert, dass und rsync die ganze Bandbreite des Netzes
 # wegnimmt.
 #
 rsync -av --delete --force --ignore-errors --bwlimit=200 192.168.115.92::srv/ /backup/$BAND 
  
 ------------------------------snap

kann man ja erst mal so per Hand aufrufen!

ACHTUNG: andere Verzeichnisse, die man via symbolischem Link einfach mitsichern will: DAS GEHT NICHT!!!

 ln -s /var/lib/mysql mysql

Besser ist es für diese Verzeichnisse wiederum eine weiterne, eigene rsync-Freigabe anzulegen!

ACHTUNG: die Quelle nicht mit "*" angeben, dadurch verbleiben Verzeichnisse auf dem Replikat. die auf dem Original längst gelöscht sind. Ausserdem können dadurch mit einem Punkt beginnende Dateien nicht gesehen werden. Einfach die Root Verzeichnisse angeben.