Skocz do zawartości
Art_

[bash] prosty backup

Polecane posty

a tak ostatnio wywiązała się dyskusja o prostym backupie ( w temacie ovh )

wiec może zapodam taki mój mały przyklad

( działa ;P )

choć wiadomo że jeśli podchodzi się profesjonalnie do tego lepiej zainteresować się rsync, ftpsync etc...

 

#!/bin/bash

EMAIL="twoj@mail.com"
EMAILMESSAGE="/tmp/emailmessage.txt"
uptime > $EMAILMESSAGE
BAZY="/home/folder/bazy_$(date +%d-%m-%Y).sql"
mysqlcheck -u root -ptwojehaslo --all-databases -o

mysqldump -u root -ptwojehaslo --all-databases > $BAZY
echo "1. Kopia baz danych utworzona" >> $EMAILMESSAGE
du -h $BAZY >> $EMAILMESSAGE

PLIKI="/home/backup_$(date +%d-%m-%Y).tar.gz"
tar -czf $PLIKI folder
echo "2. Kopia zapasowa utworzona" >> $EMAILMESSAGE
du -h $PLIKI >> $EMAILMESSAGE

ftp -n << EOF
open adresftp.pl
user login haslo
put $PLIKI ./$PLIKI
quit
EOF
echo "3. Backup przeslany na zewnetrzne ftp" >> $EMAILMESSAGE
rm $PLIKI
rm $BAZY
echo "4. Kopie usuniete z dysku lokalnego" >> $EMAILMESSAGE
echo "5. Backup wykonany poprawnie" >> $EMAILMESSAGE
uptime >> $EMAILMESSAGE
/usr/sbin/sendmail "$EMAIL" < $EMAILMESSAGE
echo "ok"

 

chyba nie muszę tłumaczyc że niektóre dane zmieniamy na swoje ;d

skrypt wykonuje optymalizacje baz i ich backup oraz przesyla na ftp

 

wystarczy zapisać w pliku.sh i odpalić ./nazwa.sh :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kopiowanie /home i wysylanie na ftp, python:

 

#!/usr/bin/python

 

 

from ftplib import FTP

import tarfile, os

 

"""Tworzy i wysyla backup na serwer ftp"""

backup_path = '/home' #co chcemy skopiowac

ftp_host = 'ftp.domena.pl' #host ftp

ftp_user = 'login' #login

ftp_password = 'haslo' #haslo

 

#pakujemy zawartosc /home

kopia = tarfile.open("/root/kopia.tar","w")

 

kopia.add(backup_path) #dodajemy do archiwum /home (rekurencyjnie)

for bb in kopia.getnames():

print "Dodano %s do kopii lokalnej" % bb #co mamy w kopii

 

print "Pomyslnie spakowano wszystkie pliki"

 

#laczymy sie z serwerem backup

backup = FTP(ftp_host) #polaczenie ftp

backup.login(ftp_user,ftp_password) #logowanie ftp

plik = open('/root/kopia.tar','rb') #wybieramy plik

 

#wysylamy plik

backup.storbinary('STOR kopia.tar',plik)

 

#wyslany plik (kopia.tar) usuwamy z serwera

os.remove("/root/kopia.tar")

 

print "Backup zakonczony." #koniec

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Backup via FTP nadaje się niestety tylko do niewielkiej porcji danych.

Pakowanie wielu sporych objętościowo kont hostingowych do paczek .tar.gz potrafi

zamulić serwer przez całą noc i nieraz część dnia.

 

Polecam rsync, jedna komenda, którą rzecz jasna można dodać do cron'a.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Potwierdzam.

rsync jest jedną z wydajniejszych i lepszych metod, jednak wtedy potrzebujesz specjalnego serwera na backup:- ))

Sprawdza on czy zostały zmienione jakieś pliki na serwerze (dane są przesyłane w postaci hash)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a ja ćwiczę ten bashowy skrypt do mysql ale coś mi lekko nie chodzi :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Potwierdzam.

rsync jest jedną z wydajniejszych i lepszych metod, jednak wtedy potrzebujesz specjalnego serwera na backup:- ))

 

 

mozna by kupic jakis KIMSUFI 2008 XXL RAID i zalozmy 2-3 dedyki mialyby backup.

 

Dla pewnosci mozna by maszynę zmienic na np http://www.ovh.pl/produkty/superplan2008raidlarge.xml

 

Wystarczylo by to myslę dla 5 kont backupowych po np 200 GB z dostępem do rsynca.

Cena jednostkowa okolo 100 zł netto / miech.

 

Nie jest to profesjonalny backup, ale powinien wystarczyc dla większosci wypadków i zaletą jest to że nie przerzuca się danych miedzy serwerowniami a tylko po LANie.

 

Co myślicie o takim rozwiązaniu?

 

Cena

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja się piszę ale na znacznie mniejsze konto około max 30 giga :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Takie dedyki pod backupy na spółkę to IMO niebezpieczne rozwiązanie - no chyba, że masz do tego kogoś spore zaufanie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Takie dedyki pod backupy na spółkę to IMO niebezpieczne rozwiązanie - no chyba, że masz do tego kogoś spore zaufanie.

 

racja, ale myślę ze znalazł by się taki administrator który zająłby się takim serwerkiem, nie ma na nim wielu usług więc myślę że mozna by siuę zmieniścić w kwocie 100 zł netto / miesiac za opiekę.

 

Ed

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A co tam dużo do konfiguracji ? Jedno razowo max 150 pln i tyle

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Chętnie podejmę się administracji jeśli ktoś potrzebowałby takiej usługi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
A co tam dużo do konfiguracji ? Jedno razowo max 150 pln i tyle

 

mam na mysli okresowe sprawdzenie integralnosci plików itp.

 

Ed

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×