backup_mysql

28 wrzesień 2006, autorstwa: kozik

Typ: shell

Opis: Backup wybranych baz MySQL (jakie określa się w pliku) - skrypt automatycznie numeruje kolejne wersje kopii zapasowych. Napisany z myślą o działaniu z poziomu crona, ale “z palca” będzie również doskonale się sprawował.

Wersja: 1.1.0

Pobierz: backup_mysql

Historia zmian:

  • 8.07.2006 - wersja 1.0.4
  • 28.09.2006 - wersja 1.0.5 (poprawiony bug)
  • 18.01.2007 - wersja 1.1.0 (możliwość backupu wszystkich baz na raz)

Wysłano w Projekty - Unix |

Adres dla trackback. RSS dla komentarzy w tym wpisie.

Liczba komentarzy: 4

  1. Leszek Says:

    Witam - skrypt u mnie (slackware 10.2) nie działa - wywala sie z komunikatem “find: ścieżki muszą poprzedzać wyrażenie
    Składnia: find [-H] [-L] [-P] [ścieżka...] [wyrażenie]
    Blad podczas czysczenia starych backupow test !”

  2. kozik Says:

    Skrypt był testowany i na rodzinie BSD i na Linuksie, więc to dosyć dziwny objaw. Kilka pytań:
    A jakim shellem jest u Ciebie /bin/sh?

    Mógłbyś podesłać na maila wynik polecenia (w katalogu ze skryptem):
    sh -x ./backup_mysql 2>&1 | tail -n 30
    (nie powinno tam być żadnych danych dostępowych do bazy)

  3. Leszek Says:

    Witam ponownie:
    ++ for i in ‘$oldies’
    ++ ‘[' 8 -gt 14 ']‘
    ++ for i in ‘$oldies’
    ++ ‘[' 9 -gt 14 ']‘
    +++ expr 14 + 1
    ++ max=15
    ++ echo 15
    + MAX=15
    + /usr/bin/mysqladmin -u –password= flush-hosts flush-logs flush-status fl ush-tables flush-threads
    + ‘[' 0 -ne 0 ']‘
    + OUT_FILE=mail.15.sql
    + echo ‘New mail backup as mail.15.sql’
    New mail backup as mail.15.sql
    + /usr/bin/mysqldump -u –password= –flush-logs –opt -O net_buffer_length =1 mail
    + ‘[' 0 -ne 0 ']‘
    + /usr/bin/bzip2 -9 /root/back_mysql/mail/mail.15.sql
    + delete_old_bcks /root/back_mysql/mail mail sql.bz2 15 10
    + dir=/root/back_mysql/mail
    + name=mail
    + sufix=sql.bz2
    ++ expr 15 - 10
    + keep_nr=5
    + ‘[' -f /root/back_mysql/mail/mail.5.sql.bz2 ']‘
    + find /root/back_mysql/mail -depth 1 ‘!’ -newer /root/back_mysql/mail/mail.5.sq l.bz2 -delete
    find: ścieżki muszą poprzedzać wyrażenie
    Składnia: find [-H] [-L] [-P] [ścieżka...] [wyrażenie]
    + ‘[' 1 -ne 0 ']‘
    + echo ‘Blad podczas czysczenia starych backupow mail !’
    Blad podczas czysczenia starych backupow mail !
    + exit 3

  4. kozik Says:

    OK, dzięki - rzeczywiście był błąd. Dziwne, że nigdy nie napotkałem na niego. W każdym razie w skrypcie:
    ZNAJDŹ:
    find ${dir} -depth 1 ! -newer “${dir}/${name}.${keep_nr}.${sufix}” -delete
    ZAMIEŃ NA:
    find ${dir} -maxdepth 1 ! -newer “${dir}/${name}.${keep_nr}.${sufix}” -delete

Dodaj komentarz




Uwaga: Włączona jest moderacja komentarzy, więc nowy komentarz nie ukaże się bezpośrednio po jego wysłaniu.

Uwaga: Działa filtr antyspamowy. Jeśli umieścisz w komentarzu odnośniki, to może on zostać błędnie zakwalifikowany jako spam.