Jarosław Szmańda 42 Zgłoś post Napisano Listopad 28, 2008 Po przeczytaniu tego wątku http://www.webhostingtalk.pl/index.php?sho...c=15291&hl= doszedłem do wniosku że warto pomyśleć nad backup'em... I teraz pytanie: Jak zrobić bakckup aby baza była kopiowana codziennie o ustalonej godzinie, a pliki 3 razy w tygodniu? Np. katalog /var/backup/ i tutaj katalogi odpowiadające nazwa domen a w środku pliki o nazwie 28_11_2008_jarek.pl_pliki.tar.gz 28_11_2008_jarek.pl_sql.tar.gz I analogicznie, nowa kopia - nowa data. Może są już jakieś gotowe skrypty? W jakiej technice to robić? Perl, Python, PHP? Pzdr! Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 28, 2008 A co Ci da backupowanie na tą samą maszynę ? Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 28, 2008 A co mu da taki backup jak nie ma RAID'a ? Może przed hacked uchroni, ale padem hdd już nie. Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Listopad 28, 2008 Mam VPSa Mam też konto w innej firmie - ale tam tylko dostęp do FTP jest... Da się coś zdziałać? Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Listopad 28, 2008 Ja bym zainwestował w rsync'a. Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Listopad 28, 2008 No ale wtedy, co? Jedynie kopia na komputer lokalny wchodzi w grę, tak? Udostępnij ten post Link to postu Udostępnij na innych stronach
www.ionic.pl 535 Zgłoś post Napisano Listopad 28, 2008 No ale wtedy, co? Jedynie kopia na komputer lokalny wchodzi w grę, tak? Możesz na inny serwer. Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Listopad 28, 2008 No ale na shared nie zainstaluje przecież rsync, prawda? Udostępnij ten post Link to postu Udostępnij na innych stronach
ahes 83 Zgłoś post Napisano Listopad 28, 2008 I teraz pytanie: Jak zrobić bakckup aby baza była kopiowana codziennie o ustalonej godzinie, a pliki 3 razy w tygodniu? Widze, ze nic konkretnego ci nie napisali, wiec ja odpisze. Jak masz duze, bazy danych to hotcopy albo lvmbackup. Zakladam, ze masz male bazy, nie masz LVM i wolisz zrzuty mysqlowe wiec uzyj mysldump. Np. tak: path="/mysql-backup" for db in `mysql -Nse 'show databases'` do dump="${db}_`date '+%F'`.sql" remove="${db}_`date --date '7 days ago' '+%F'`.sql.gz" mysqldump -l $db > $path/$dump gzip $path/$dump if [ -f "$path/$remove" ] then rm -f -- "$path/$remove" fi done Zakladajac ze masz konfiguracje polaczenia do bazy w /root/.my.cnf i z uzytkownika root nie zapyta cie o haslo. To jest konfiguracja na backup raz dziennie. Jesli chcesz co godzine to zmien znacznik czasow w date z '+%F' na bardziej wyrafinowany. Moze byc nawet '+%s'. Do backupu danych polecam rdiff-backup lub xfsdump. Dla twoich zastosowan prawdopodobnie bardziej ci styknie rdiff-backup - jest to skrypt pythonowy oparty o rsync. Robi kopie przyrostowe wiec robisz backup tylko zmieniajacych sie danych. Na przyklad mozesz wykonywac backup w ten sposob: dpkg --get-selections '*' > /var/backups/dpkg.selections /usr/bin/rdiff-backup \ --include /adm \ --include /bin \ --include /boot \ --include /etc \ --include /lib \ --include /opt \ --include /root \ --include /sbin \ --include /service \ --include /tftproot \ --include /usr \ --include /var \ --exclude /var/lib/mysql \ --exclude /var/lib/mysql-cluster \ --exclude /var/lib/mysql-system \ --exclude / \ / backup@maszyna.backupowa.pl::backup /usr/bin/rdiff-backup --remove-older-than 1M backup@maszyna.backupowa.pl::backup Zakladajac, ze root na maszyne backupowa moze polaczyc sie z uzyciem kluczy, bez hasla, ani bez passphrase. To sobie wrzucasz do crona.daily i bedzie hulac. Jak mozna sie domyslic backup starszy niz jeden miesiac jest usuwany. Aby sprawdzic, czy sie dobrze wykonal i ile kopii przyrostowych znajduje sie aktualnie w backupie dajesz rdiff-backup -l sciezka/do/backupu/nazwa_backup na maszynie backupowe Na maszynie backupowej madrze jest ustawic authorized_keys w ten sposob: no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="rdiff-backup --server",from="1.2.3.4" ssh-rsa =FEURIER432U4I32H4U43423_TUTAJ_KLUCZ_RSA_RRHUIREER root@maszynka.pl Jak ktos ci przejmie jedna maszyne to nie uzyska shella na drugiej za pomoca kluczy. Ale to tylko dla paranoikow. Jesli nie masz dostepu do shella na maszynie gdzie chcesz wrzucac backup to kombinuj inaczej. Uzyj wyobrazni, rob backup lokalnie i przerzucaj po FTP. Moze jest wystawiona usluga rsync na serwerze backupowym. Z tego co wiem ani rdiff-backup, ani rsync nie potrafia przerzucac danych po FTP, wiec bedziesz musial wymyslec obejscie. Mam nadzieje, ze moje informacje okazaly sie pomocne. Pozdrawiam. Udostępnij ten post Link to postu Udostępnij na innych stronach
ksk 67 Zgłoś post Napisano Listopad 28, 2008 ja korzystam z prostego rozwiązania w bashu backup robiony o 3 w nocy i wysyłany emailem oraz FTP na osobne maszyny . Ps bazy maja tylko w sumie 80 mega Udostępnij ten post Link to postu Udostępnij na innych stronach
Jarosław Szmańda 42 Zgłoś post Napisano Listopad 29, 2008 Kisiek - pochwal się Udostępnij ten post Link to postu Udostępnij na innych stronach
MasterNETpl 100 Zgłoś post Napisano Listopad 29, 2008 Szczerze mówiąc to nie słyszałem nigdy większej głupoty jak wysyłanie backup'a mailem. Udostępnij ten post Link to postu Udostępnij na innych stronach
ahes 83 Zgłoś post Napisano Listopad 29, 2008 Szczerze mówiąc to nie słyszałem nigdy większej głupoty jak wysyłanie backup'a mailem. Czemu nie? Zalozmy, ze masz tylko jeden serwer lub jedno konto. Zakladasz sobie poczte na GMail, robisz mysqldumpa, szyfrujesz symetrycznie pgp, robisz splita jak potrzeba i wysylasz na darmowy, niezawodny, serwer backupowy powered by Google Udostępnij ten post Link to postu Udostępnij na innych stronach
MasterNETpl 100 Zgłoś post Napisano Listopad 29, 2008 Choćby ze względu na wydajność, skanowanie antyspamami, etc? No ale to już zależy jakiej wielkości są te wysyłki i być może z prostego powodu, iż ktoś może nie mieć innej możliwości. Udostępnij ten post Link to postu Udostępnij na innych stronach
ksk 67 Zgłoś post Napisano Listopad 29, 2008 Adrian to nie jest serwer pod komercjalizm czy cos takiego zwykłe malutkie 3 moje projekty + może jakieś mini strony znajomych i rodziny i tyle Udostępnij ten post Link to postu Udostępnij na innych stronach
ahes 83 Zgłoś post Napisano Listopad 29, 2008 Choćby ze względu na wydajność, skanowanie antyspamami, etc? Obchodzi cie wydajnosc i skanowanie antyspamami po stronie Google? Bo mnie wcale. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Listopad 29, 2008 Obchodzi cie wydajnosc i skanowanie antyspamami po stronie Google? Bo mnie wcale.A to, że przesyłane dane są kodowane do base64, przez co zajmują ~33% więcej miejsca (a zatem zużywają więcej transferu), pewnie też Cię nie obchodzi? Udostępnij ten post Link to postu Udostępnij na innych stronach
exa 0 Zgłoś post Napisano Listopad 29, 2008 Opcja dla osób bez rsynca: mój skrypt dla tych, którzy chcą wysyłać backup na wiele serwerów FTP (w szczególności jeden). Wymagany jest zainstalowany klient lftp (apt-get install lftp). Przykład z rozsyłaniem na konta FTP bazy danych. #!/bin/bash # katalog na backup dest_dir=/var/backup/ # Serwery FTP servers='ftp1.pl ftp2.pl' login=(login1 login2) pass=(haslo1 haslo2) remote_dir=(htdocs/backup1 www/backup2) # mysql sql_login=login sql_pass=pass sql_db=db ################## save_date=`date '+%Y-%m-%d_%H-%M-%S'` db_filename=$sql_db"_"$save_date".sql" filename=$db_filename".gz" # kopia cd $dest_dir echo -n "Backup bazy danych ($filename)... " mysqldump -u$sql_login -p$sql_pass --opt $sql_db > $db_filename gzip $db_filename echo "OK" i=0 for server in $servers; do echo "Kopiuje do $server... " l=${login[$i]} p=${pass[$i]} rd=${remote_dir[$i]} echo "open $server" > script.lftp echo "user $l $p" >> script.lftp echo "cd $rd" >> script.lftp echo "put $filename" >> script.lftp echo "quit" >> script.lftp lftp -f script.lftp echo OK i=$[i + 1] done; rm script.lftp # usuniecie starych kopii sprzed 60 dni find . -name $sql_db"_*" -ctime +60 -exec rm {} \; Można sobie bez problemu rozpisać o backup plików (tar ma np. opcję robienia backupu przyrostowego tak btw.) i dodać do crona (JarekMK: http://pl.wikipedia.org/wiki/Crontab). A jak ktoś chce wysyłać backup pocztą, to składnia dla mutta wygląda tak (dla mail z mail-utils z tego co pamiętam załącznik źle sie kodował i dołączał na Etchu [tak, przepuszczony przez uuencode] ): echo | mutt -s "backup z $save_date" -a "$filename" email@domena.tld To mi nie działało: uuencode "$filename" | mail email@domena.tld -s "backup z $save_date" Udostępnij ten post Link to postu Udostępnij na innych stronach
ahes 83 Zgłoś post Napisano Listopad 30, 2008 A to, że przesyłane dane są kodowane do base64, przez co zajmują ~33% więcej miejsca (a zatem zużywają więcej transferu), pewnie też Cię nie obchodzi? Po co te nerwy Zamiast 100MB wyslesz 133MB. Dla mnie to nieistotna roznica. BTW, polecam hosting bez limitu transferu. Udostępnij ten post Link to postu Udostępnij na innych stronach
Mateusz Sojda 41 Zgłoś post Napisano Listopad 30, 2008 BTW, polecam hosting bez limitu transferu. Marcin, limity zawsze są, jednak tu się zgodzę słowa brak limitu pasują. Byłem użytkownikiem, również polecam Cóż za OT Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Listopad 30, 2008 Takie mam małe pytanie do backupowców-emailowców... Większość serwerów ma ustawione limity rozmiaru pojedynczej paczki... jak to pogodzić z backupem, który czasami jest dosyć duży? Udostępnij ten post Link to postu Udostępnij na innych stronach
crazyluki 114 Zgłoś post Napisano Listopad 30, 2008 pisali wyżej - dzielą na mniejsze paczki;-) Udostępnij ten post Link to postu Udostępnij na innych stronach
exa 0 Zgłoś post Napisano Listopad 30, 2008 How to split large file into several smaller files - Linux. Tak podzielony plik można później scalić też na windows: type filepart1 filepart2 > filefull Wygodniejszą opcją jest zainstalowanie na serwerze programu rar (http://rarlab.com/download.htm), który ma dzielenie na pliki i szyfrowanie w standardzie. Tylko, że archiwum tworzone RARem generuje się dłużej (przy szyfrowaniu bez kompresji) lub znacznie dłużej (przy szyfrowaniu i kompresji) niż gzipem czy bzipem. Do dużych archiwów raczej nadaje się tylko w opcji bez szyfrowania i bez kompresji. Udostępnij ten post Link to postu Udostępnij na innych stronach
ahes 83 Zgłoś post Napisano Listopad 30, 2008 Marcin, limity zawsze są, jednak tu się zgodzę słowa brak limitu pasują. Byłem użytkownikiem, również polecam Cóż za OT Zle zrozumiales slowo 'brak limitu'. Brak limitu = brak ograniczen w przesyle danych (oprocz fizycznych oczywiscie). Provider nie zlicza ci ruchu, ktory przesylasz i nie pobiera oplat za nadmiarowe gigabajty. Udostępnij ten post Link to postu Udostępnij na innych stronach