Unelte utilizator

Unelte site


mandriva:configurare_server:backup_prin_rsync

Backup prin rsync

Uneori dorim realizarea unui backup periodic a unui director pe un alt server distant (mirror). O unealta utila pentru acest job este rsync cu care putem transfera date utilizand protocolul ssh

Caz concret:

  • server sursa: server1.domeniu.ro
  • server tinta: server2.domeniu.ro
  • user remote: remoteuser
  • port ssh remote: 2345
  • director sursa: /users/data
  • director tinta: /home/remoteuser/server1/data

Etape:

Instalare rsync

Este necesara instalarea aplicatiei rsync pe ambele servere.

# urpmi rsync

Pe serverul tinta avem nevoi si de un server de ssh:

# urpmi openssh-server

Creare cheie autentificare

Pe serverul sursa - cel ce initiza conexiunea - este nevoie de generarea unui perechi de chei de autentificare ce vor fi utilizate pentru legatura prin ssh fara parola:

# ssh-keygen

In folderul /root/.ssh gasim perechea de chei ce vor fi utilizate la conectare: id_rsa si id_rsa.pub. A doua cheie - id_rsa.pub - publica o vom insera in fisierul ~/.ssh/authorized_keys2 al utlizatorului de pe serverul tinta.

# scp /root/.ssh/id_rsa.pub -P 2345 remoteuser@server2.domeniu.ro:/home/remoteuser/.ssh/
# ssh remoteuser@server2.domeniu.ro -p 2345
cd .ssh/
echo id_rsa.pub >>authorized_keys2
rm id_rsa.pub

Creem directorul tinta pe serverul de backup:

mkdir /home/remoteuser/server1/data
exit

Pentru usurinta conectarii com crea un fisier de configurare al conexiunii pe serverul sursa. Acesta este /root/.ssh/config

Host backup
   Hostname server2.domeniu.ro
   User remoteuser
   Port 2345

Configurare cron

Inainte de configurare cron putem rula comanda manual pentru a verifica functionalitate rsync

# rsync -avz --delete -e ssh /users/data backup:/home/remoteuser/server1/data

Nota: optiunile le gasiti in manualul aplicatiei.

Daca rezultatele sunt cele asteptate creem un fisier in folderul /etc/cron.d numit backup_users.sh (ce va rula de luni-sambata la ora 4:15)

#!/bin/sh
15 4 * * 1-6  root /usr/bin/rsync -avz -e ssh --delete /users/data backup:/home/remoteuser/server1/data

Facem fisierul executabil si repornim serviciul cron:

# chmod +x /etc/cron.d/backup_users.sh
# service crond restart

Alternativ putem insera a doua linie direct in cron cu comanda:

# cron -e

Rezultate

In ziua urmatoare verificam functionarea noului job creat

mandriva/configurare_server/backup_prin_rsync.txt · Ultima modificare: 2011/08/05 22:30 (editare externă)