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 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 1
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    29.12. 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (2%)
     (1%)
     (11%)
     (11%)
     (17%)
    Celkem 195 hlasů
     Komentářů: 21, poslední včera 18:58
    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: 447×

    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.