abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    dnes 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 17:00 | Upozornění

    Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].

    Ladislav Hagara | Komentářů: 8
    včera 16:44 | IT novinky

    Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.

    Ladislav Hagara | Komentářů: 6
    včera 14:11 | Komunita

    Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).

    Ladislav Hagara | Komentářů: 2
    včera 13:55 | Nová verze

    TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý článek

    České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá

    … více »
    Ladislav Hagara | Komentářů: 16
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (19%)
     (19%)
     (23%)
     (17%)
     (21%)
     (17%)
     (17%)
    Celkem 284 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Záloha souborů + mysql

    poky74 avatar 10.1.2010 20:13 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Záloha souborů + mysql
    Přečteno: 432×

    Ahoj, hledal jsem nějaký elegantní způsob (nejlépe v php) jak cronem zazálohovat nějaká data (konkrétně php soubory jedné aplikace a sql tabulky - mysql).

     

    Pár scriptů jsem našel, ale vždy jsem narazil na komentáře o bezpečnosti tohoto daného řešení, tak se ptám, dá se to vůbec bezpečně (co se týče ztráty dat) udělat?

     

    Děkuji

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->

    Řešení dotazu:


    Odpovědi

    Řešení 1× (poky74 (tazatel))
    10.1.2010 23:00 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Záloha souborů + mysql
    Následující není v PHP ale cronem to lze :)
    PHP data jsou statická data, tzn. zálohovat běžnými prostředky, například:
    tar -czf mojephpdata-www.tar.gz /srv/www/aplikace

    A mysql databaze (například):
    mysqldump --user=dumpuser --password=heslo --add-drop-database --add-drop-table --add-locks --all-databases --comments --create-options --disable-keys --flush-logs --hex-blob --routines --single-transaction --max_allowed_packet=4M > mysql-data.sql
    a pak třeba ještě:
    gzip -9 mysql-data.sql

    Nevidím tam žádné riziko ztráty dat (snad se nepletu :) )
    co není zajištěno je:
    • integrita MEZI databázemi
    • dostupnost databáze při záloze (je uzamknuta po dobu zálohování - záleží na velikosti DB, jak velký čas to vezme)
    • integrita dat zálohy php souborů, pokud by se během zálohy měnily

    Celkový skriptík na uchování 14-ti plných záloh může vypadat takto:
    U příkazu na zálohu mysql (všech DB) je třeba vyplnit jméno a heslo zálohovacího uživatele
    Při chybě to pošle email…
    Pozor: adresář se zálohami je promazáván viz #delete old backups, předpokládá se, že adresář slouží jen k tomuto účelu.
    #!/bin/bash
    ADMIN="jmeno@domena.primarni jmeno@domena.zalozni"
    HOSTNAME=`/bin/hostname`
    FROM="backup@$HOSTNAME"
    NOWDATE=`date +%F`
    HOMEBCKP="/nejaky/treba/nfs/disk"
    COUNTBCKP=14
    
    myexit(){
     logger -p error "backup: Failure. Message: $1"
      echo "BACKUP ERROR !!! on ${HOSTNAME} Message: $1" | /usr/bin/mailx \
        -s "BACKUP ERROR: ${HOSTNAME}" -r ${FROM} ${ADMIN}
     exit $2
    }
    
    #to backup directory
    cd $HOMEBCKP
    if [ $? != 0 ]; then
      myexit "Error: directory $HOMEBCKP not exists" 1
    fi
    
    let "COUNTBCKP = $COUNTBCKP - 1"
    
    #delete old backups, '2*' - only directory begin '2' - for sure :)
    find ./ -depth -mtime +$COUNTBCKP -path "./2*" -delete
    if [ $? != 0 ]; then
      myexit "Error: delete old backups " 109
    fi
    
    mkdir $NOWDATE
    if [ $? != 0 ]; then
      myexit "Error: create backup directory " 2
    fi
    
    cd $HOMEBCKP/$NOWDATE
    if [ $? != 0 ]; then
      myexit "Error: directory $HOMEBCKP/$NOWDATE not exists" 3
    fi
    
    
    #dump Sql
    mysqldump --user=dumpuser --password=heslo  --add-drop-database --add-drop-table --add-locks --all-databases --comments --create-options --disable-keys --flush-logs --hex-blob --routines --single-transaction --max_allowed_packet=4M > $HOSTNAME-mysql-$NOWDATE.sql
    if [ $? != 0 ]; then
      myexit "Error: sql dump error" 10
    fi
    
    gzip -9  $HOSTNAME-mysql-$NOWDATE.sql
    if [ $? != 0 ]; then
      myexit "Error: gzip sql  error" 11
    fi
    
    #www
    cd /srv
    if [ $? != 0 ]; then
      myexit "Error: cd /srv/" 21
    fi
    
    tar -czf $HOMEBCKP/$NOWDATE/$HOSTNAME-www.tar.gz www
    if [ $? != 0 ]; then
      myexit "Error: tar -czf www" 22
    fi
    
    logger -p info "backup: OK"
    
    exit 0
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    11.1.2010 08:57 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Záloha souborů + mysql
    Dodatek:
    ten příkaz co jsem uvedl na zálohování DB je vhodný na InnoDB tabulky, pro MyISAM vymněnte přepínač
    --single-transaction
    za
    --lock-all-tables.
    Výše uvedené mysqldump příkazi NEznepřístupňují (nezamykají) tabulky v průběhu zálohy, následující již ano.

    Mělo být uvedeno (i v tom scriptu) toto (vhodné pro MyISAM):
    mysqldump --user=dumpuser --password=heslo --add-drop-database --add-drop-table --add-locks --all-databases --comments --create-options --disable-keys --flush-logs --hex-blob --routines --lock-all-tables --max_allowed_packet=4M > mysql-data.sql

    Sorry, předchozí jsem vykopíroval ze skriptu pro zálohu stroje jen s InnoDB tabulkami.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.