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

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 7
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 28
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 22
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: zaloha ze snapshotu

    28.5.2010 10:02 Marek
    zaloha ze snapshotu
    Přečteno: 422×
    Ahoj, mam skriptik, ktery mi vyzalohuje /etc ze snapshotu (ktery si vytvori) a synchronizuje jej s DVD-RAM. Kdyz ho spustim rucne, je vse ok.
    #!/usr/bin/env bash
    
    #####################
    # zalohovaci skript #
    #   (viz. nazev)    #
    #####################
    
    # promenne
    CIL="/home/zaloha"
    ZDROJ="/mnt/root-ss/etc"
    PREFIX="etc_"
    POSTFIX="`date +%d%m%y`.tar.bz2"
    NAZEV=${PREFIX}${POSTFIX}
    
    echo "vytvářím snapshot /"
    /etc/init.d/snapshot-root start >/dev/null &&
    
    echo "zálohuji adresář $ZDROJ"
    tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&
    
    echo "odpojuji snapshot /"
    /etc/init.d/snapshot-root stop >/dev/null &&
    
    echo "upravuji práva souboru zálohy"
    find ${CIL} -name "${PREFIX}*" -print0 | xargs -0 chmod 640 &&
    
    echo "hledám a mažu zálohy starší 3 dny"
    find ${CIL} -name "${PREFIX}*" -mtime +2 -print0 | xargs -0 rm -f &&
    
    echo "připojuji DVD-RAM"
    mount /media/dvd-ram &&
    
    echo "synchronizuji zálohy s DVD-RAM"
    rsync -av --delete ${CIL}/ /media/dvd-ram/ >> /dev/null &&
    
    echo "odpojuji DVD-RAM"
    umount /media/dvd-ram
    
    echo "zasílám informační e-mail a zapisuji stav do logu"
    if [[ `echo $?` -eq 0 ]]; then
    	echo -e "`date` Zaloha "$ZDROJ" byla provedena." >>/var/log/zaloha.log
    
    	else
    		echo -e "`date` Zaloha "$ZDROJ" SKONCILA CHYBOU!" >> /var/log/zaloha.log
    		mail -s "zaloha "$ZDROJ"" example@example.net <<-MESSAGE
    
    Dobry den,
    
       Zaloha "$ZDROJ" NEBYLA PROVEDENA v `date +%H:%M` `date +%d.%m.%Y`.
       
                                           Vas zalozni server :(
    
    MESSAGE
    fi
    
    echo "HOTOVO!"
    
    pokud dam spusteni do cronu, tak mi to napise toto:
    /etc/init.d/snapshot-root: line 12: lvcreate: command not found
    umount: /mnt/root-ss: not found
    Jak je to mozne? Myslel jsem, ze cron to spusti naprosto stejne, jak ja rucne.

    Odpovědi

    28.5.2010 10:04 PEE
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Co zkusit zadat celou cestu k lvcreate ?
    28.5.2010 10:47 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    SUPER, pomohlo :-)

    Jeste bych se rad zeptal, ted mam skriptik upraveny takto:
    #!/usr/bin/env bash
    
    # promenne
    CIL="/home/zaloha"
    ZDROJ="/mnt/root-ss/etc"
    PREFIX="etc_"
    POSTFIX="`date +%d%m%y`.tar.bz2"
    NAZEV=${PREFIX}${POSTFIX}
    
    echo "vytvářím snapshot /"
    /etc/init.d/snapshot-root start &&
    
    echo "zálohuji adresář $ZDROJ"
    tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&
    
    echo "odpojuji snapshot /"
    /etc/init.d/snapshot-root stop &&
    
    echo "upravuji práva souboru zálohy"
    find ${CIL} -name "${PREFIX}*" -print0 | xargs -0 chmod 640 &&
    
    echo "hledám a mažu zálohy starší 3 dny"
    find ${CIL} -name "${PREFIX}*" -mtime +2 -print0 | xargs -0 rm -f &&
    
    echo "připojuji DVD-RAM"
    mount /media/dvd-ram &&
    
    echo "synchronizuji zálohy s DVD-RAM"
    rsync -av --delete ${CIL}/ /media/dvd-ram/ &&
    
    echo "odpojuji DVD-RAM"
    umount /media/dvd-ram
    
    echo "záloha $ZDROJ byla úspěšně provedena" >>/var/log/zaloha.log
    Potrebuju nejak osetrit to, aby se mi posledni radek zapsal do logu pouze tehdy, kdyz je vse opravdu OK. A pokud bude chyba, chtel bych, aby se zapsal do logu ta chybova hlaska (treba s nejakou omackou, ze zaloha nebyla provedena z duvodu...). Diky
    28.5.2010 13:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Je třeba ošetřovat, záleží na tom co vás zajímá ale vzhledem k tomu co děláte a jak to děláte, tak bych si asi napsal fci:
    myexit(){
    # logger -p error "Neco stojí za prd. Message: $1"
    #  echo " ERROR !!! Message: $1" | /usr/bin/mailx \
    #    -s "Nejaky muj predmet" -r pepastroj@moje.kubrt pepa@moje.kubrt
     echo "Error: $1" 
     exit $2
    }
    
    a pokaždém příkazu (mimo echo :)) otestoval (nebo příkaz můžete dát přímo do podmínky)
    if [ $? != 0 ]; then
      myexit "Error: tento příkaz nefunguje" 3
    fi
    
    za předpokladu že si dáte ty && pryč (proč tam jsou?)
    a to 2>/dev/null bych asi vyměnil za 2>>/var/log/zaloha_tar_err.log - pomůže to při analýze případného problému.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    31.5.2010 10:12 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Dobry den, az dneska jsem si vsiml Vasi odpovedi.

    >> ..ale vzhledem k tomu co děláte a jak to děláte..

    To znamena, ze to delam spatne, nebo jak to bylo mysleno? Za kazde vylepseni budu rad :-)

    >> ..tak bych si asi napsal fci..

    Ta funkce se pise nekam na zacatek toho scriptu?

    Jinak v tom mailu bude primo i ta chybova hlaska nebo ne?

    >> a to 2>/dev/null bych asi vyměnil za 2>>/var/log/zaloha_tar_err.log - pomůže to při analýze případného problému.

    Presmeroval jsem do /dev/null i chybovy vypis z tar, protoze mi to porad posilalo i tu hlasku s tim lomitkem..ted si ji nevybavim, ale tar to ma v oblibe
    31.5.2010 10:50 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    A jeste jedna vec. Kdyz pustim script rucne, je to ok, kdyz ho ale spusti cron, ulozi se chyba (pri vytvareni snapshotu):
    Invalid argument 14,994G
    Error during parsing of command line.
    umount: /mnt/home-ss: not found
    tady je script na snapshot:
    #!/bin/sh
    
    zarizeni="/dev/LVM-sda2-sdb2/home";     # LVM logický oddíl
    pripojny_bod="/mnt/home-ss"; 		# Adresář, kam vytvořený obraz připojíme 
    velikost_obrazu="14,994G"; 		# tolik změn lze na disku udělat, než se snapshot zaplní na 100%
    nazev_obrazu="home-ss";		        # Název LVM obrazu
    nazev_vg="LVM-sda2-sdb2";               # LVM skupina svazků (VG)
    
    case "$1" in
        start)
            echo "Vytvářím obraz disku";
            /sbin/lvcreate -s -L ${velikost_obrazu} -n ${nazev_obrazu} ${zarizeni} &&
            mkdir ${pripojny_bod} &&
            mount /dev/${nazev_vg}/${nazev_obrazu} ${pripojny_bod};
            
    ;;
        restart)
            $0 stop
            $0 start
    ;;
        stop)
            echo "Ruším obraz disku";
            umount ${pripojny_bod} &&
            /sbin/lvremove -f /dev/${nazev_vg}/${nazev_obrazu} &&
            rmdir ${pripojny_bod} ;
    ;;
        *)
            echo "Použijte jeden z těchto parametrů: $0 {start|stop|restart}"
            exit 3
    ;;
    esac
    PS: A taky je spatne, ze prestoze se snapshot nevytvoril, script jede dal a tim padem nic nevyzalohuje a jeste smaze stare funkcni zalohy. Asi to bude potreba cele prepracovat, ze jo :-(
    31.5.2010 21:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Jste si jistým tím zápisem velikost_obrazu="14,994G", nebylo by správnější velikost_obrazu="14G" ?
    Podle mě to vytváření nefunguje (neůže), viz hláška “Invalid argument 14,994G“ a následná „Error during parsing of command line“ - to je tytyty za tu velikost.
    No a potože následné příkazy mkdir a mount spojujete && tak se neprovedou, bo první neskočil s návratovým kódem '0', takže je logické že není co odmontovat – poslední hlášení
    Pokud si doplníte ještě (nemusíte, ale bude to jasné)
    …mount /dev/${nazev_vg}/${nazev_obrazu} ${pripojny_bod} && exit 0;
    exit 3
    
    a
    …rmdir ${pripojny_bod} && exit 0;
    exit 3
    
    Tak se vám ze sciptu dostane návratový kód (o restartu se fčul nebavě).

    Problém 2 tkví ve výše uvedeném scriptu opakujete tuto chybu:
    /etc/init.d/snapshot-root start &&
    echo "zálohuji adresář $ZDROJ"
    tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null &&
    
    Toto prakticky znamená, že pokud se neprovede vytvoření snapshotu, nevypíše se to „echo“, ale další příkaz normálně pokračuje.
    Takže i za echo by jste to musel celé zřetězit přes && - no nevím, proto jsem Vám navrhl každý návratový kód otestovat a dále pokračovat jen po úspěšném splnění.
    např.:
    …
    echo "vytvářím snapshot"
    /etc/init.d/snapshot-root start
    if [ $? != 0 ]; then
      echo "Snapshot stávkuje"
      exit 3
    fi
    
    echo "zálohuji adresář $ZDROJ"
    tar -cjf ${CIL}/${NAZEV} "$ZDROJ" 2>/dev/null
    if [ $? != 0 ]; then
      echo "Tar má na háku a proc, to nevis, bo je to v /dev/null"
      exit 3
    fi
    …
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    31.5.2010 22:24 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Dekuji za reakce, trosku me ted tlaci cas, tak zareaguju jen na zacatek, ktery jsem si stacil precist. Ta velikost 14,994G mi opravdu funguje, pokud skript pustim rucne (a myslim tim budto ten zalohovaci a ten samotny "snapshotovy"), proto se divim, ze Cron s tim ma problem. Jinak ty && uz jsem tam v te dobe nemel (jen jsem to zde zapomnel zminit).

    31.5.2010 22:27 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Pardon, ty && jsem dal pryc z toho "zalohovaciho skriptu".
    1.6.2010 10:10 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    A není problém v tom, že v cronu to může běžet v jiném locale a tu desetinnou čárku to neskousne? Skripty jsou boj.
    1.6.2010 12:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Jak je naspáno níže, je možné, že pod např. českým locale to jede, ale cron má své vlastní prostředí (obvykle s minimálním nastavením cest apod.).
    Jednoznačně chybový výpis je jasný - nežere to.
    Ve scitptech spouštěných cronem raději předpokládejte, že nic není nastaveno. :)
    Rozhodně bych to vyjádřil jako 15G, co má za význam, tam dávat o maličko méně. Pokud již není prostor na disku a chcete opravdu využít maximum prostoru (z nějakého neznámého důvodu :) ), tak to lze vyjádřit v MB.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.6.2010 16:34 Marek
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Dobre, to je to, co jsem nevedel.

    >> z nějakého neznámého důvodu

    duvod byl pouze "esteticky" :-D
    1.6.2010 21:05 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    Můžete samozřejmě také nastavit ta locales, třeba
    LANG=C /sbin/lvcreate... 14.994G
    nebo
    LC_ALL=C /sbin/lvcreate... 14.994G
    podle toho co používá lvcreate.
    31.5.2010 20:41 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: zaloha ze snapshotu
    „>> ..ale vzhledem k tomu co děláte a jak to děláte..“ - nijak jsem to nehodnotil, spíše jsem myslel styl, vypisované hlášky po každém kroku apod… – tak tím, že to tak děláte, chcete mít přehled po krocích

    „Ano“ - fci si můžete napsat třeba na začátek scriptu.
    Ten mail a zápis do logu je tam zakomentovaný znakem '#' takže je nefunkční, chtěl jsem jen nastínit možnosti.
    Kdyby se to odkomentovalo, tak v mailu bude ten první parametr co té fci pošlete a ukončí script s návratovým kódem, předaným fci jako druhý parametr.

    ad. přesměrování, může Vás tar zklamat s různých důvodů, a pokud nebudete mít někde výpis, tak nebudete vědět proč, a nějaký log navíc s pár bajtama už nikoho nezabije :)
    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.