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:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 5
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    16.7. 16:22 | IT novinky

    Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.

    Ladislav Hagara | Komentářů: 26
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (21%)
     (14%)
     (7%)
     (0%)
     (0%)
     (7%)
     (0%)
     (50%)
    Celkem 14 hlasů
     Komentářů: 3, poslední včera 17:26
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    29.4.2013 11:50 CandySan | skóre: 11 | blog: bonzacek
    Rozbalit Rozbalit vše Re: Linux KVM a zálohování virtuálních strojů s Windows
    Zdar,

    kdyz to mas v lvm, tak se ti muze hodit nasledujici zalohovaci script:
    #!/bin/bash
    
    # $0 {volume_group} {smazat_slozku_pripravy_zalohy}
    
    
    DESTINATION='/vmshadow'
    BACKUP_DIR="$DESTINATION/images"	# cilovy adresar zaloh
    VOLUME_GROUP=$1
    VG_PATH="/dev/"$VOLUME_GROUP
    CLEAR_BACKUP_DESTINATION=$2  		# 1 - smazat uloziste pred vytvorenim nove zalohy (default); 0 - nemazat a jen pripisovat
    LV_TMP_DEVICE='vmbackup'		# jmeno snapshotu
    LV_SNAPSHOT_SIZE='5G'			# velikosty snapshotu
    
    DUMP_DIR="$DESTINATION/domains"
    
    
    #
    # Zkontroluje zda logicky svazek smi byt zalohovan
    #
    # Vstupnim parametrem je nazev tesovaneho logickeho svazku
    #
    # Pokud ma byt vyrazen ze zalohovani, bude vracen kod 1
    #
    function skip_logical_volume {
    	PREFIX=${1:0:3}
    	if [ $PREFIX == "vm_" ]
    	then
    		return 0
    	else
    		echo "["`date`"] "" -- Ignoruji svazek $VOLUME_GROUP/$1 - nezacina prefixem \"vm_\" a tedy nesmi byt zalohovan"
    		return 1
    	fi
    }
    
    #
    # Prochazi logickymi svazky a zavola backup pokud neni svazku zakazan backup
    #
    function backup_logical_volumes {
    	for loc_lvolume in `ls $VG_PATH`; do
    		skip_logical_volume $loc_lvolume
    		if [ $? -eq 0 ]
    		then
    			# zaloha smi byt provedena
    			do_lvbackup $loc_lvolume
    		fi
    	done
    }
    
    #
    # Vytvori snapshot 
    #
    # Vstupnim parametrem je jmeno logickeho svazko jehoz snapshot se bude vytvaret
    #	
    function create_snapshot {
            loc_SUCCESS=''
    
            echo "["`date`"] ""lvcreate -L$LV_SNAPSHOT_SIZE -s -n $LV_TMP_DEVICE /dev/$VOLUME_GROUP/$1 2>&1'"
            for loc_LINE in "`lvcreate -L$LV_SNAPSHOT_SIZE -s -n $LV_TMP_DEVICE /dev/$VOLUME_GROUP/$1 2>&1`"; do
                    echo "["`date`"] ""$loc_LINE"
    
                    tmp_gline=`echo -n "$loc_LINE" | grep -E "created"`
                    if [ -n "$tmp_gline" ]
                    then
    
                            loc_SUCCESS='true'
                    fi
            done
    
            if [ -z "$loc_SUCCESS" ]
            then
                    echo "["`date`"] ""Error: nepodarilo se vytvorit snapshot $VOLUME_GROUP.$1! Koncim!"
                    exit 1
            fi
    
    }
    
    
    #
    # Odpoji SNAPSHOT_MOUNTPOINT a zrusi snapshot
    #
    function destroy_snapshot {
            loc_SUCCESS=''
    
            echo "["`date`"] Zaplneni snapshotu: "`lvs 2>&1 | grep $LV_TMP_DEVICE | awk '{print $6}'`'%'
    
            echo "["`date`"] ""lvremove -f /dev/$VOLUME_GROUP/$LV_TMP_DEVICE 2>&1"
            for loc_LINE in "`lvremove -f /dev/$VOLUME_GROUP/$LV_TMP_DEVICE 2>&1`"; do
                    echo "["`date`"] ""$loc_LINE"
    
                    tmp_gline=`echo -n "$loc_LINE" | grep -E "successfully removed"`
                    if [ -n "$tmp_gline" ]
                    then
    
                            loc_SUCCESS='true'
                    fi
            done
    
            if [ -z "$loc_SUCCESS" ]
            then
                    echo "["`date`"] "'Error: nepodarilo se odstranit snapshot!'
            fi
    }
    
    
    #
    # Vytvori dump logickeho svazku
    #
    function do_lvbackup {
    	echo -e "\n\n"
    	echo "["`date`"] ""Priprava zalohy svazku $VOLUME_GROUP/$1"
    
    	mkdir -p $BACKUP_DIR 2>&1
    
    	create_snapshot $1
    
    ##	echo "["`date`"] ""ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR"/tmp_errout" | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR\"/\"$VOLUME_GROUP\".\"$1\".raw.gz\" 2>&1"
    ##	ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR/tmp_errout | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR"/"$VOLUME_GROUP"."$1".raw.gz" 2>&1
    	echo "["`date`"] ""ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR"/tmp_errout" | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz 2>&1"
    	ionice -c 3 nice -n 19 dd if=$VG_PATH"/"$LV_TMP_DEVICE bs=100M 2>$BACKUP_DIR/tmp_errout | ionice -c 3 nice -n 19 gzip --fast -f -v -c >$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz 2>&1
    
    	cat $BACKUP_DIR"/tmp_errout"
    	rm $BACKUP_DIR"/tmp_errout"
    	loc_tmp_imgsize=`qemu-img info /dev/$VOLUME_GROUP/$1 | grep 'virtual size' | awk '{print $4}'`
    	loc_imgsize=${loc_tmp_imgsize:1}
    	loc_bckpsize=$(stat -c%s "$BACKUP_DIR/$VOLUME_GROUP.$1.raw.gz")"00"
    	
    	loc_cmpr=$(( $loc_bckpsize / $loc_imgsize ))
    	
    	echo "["`date`"] ""Velikost souboru po kompresi $loc_cmpr""%"
    
    	destroy_snapshot
    }
    
    #
    # Vytvori dump domeny (definice virtualni masiny)
    #
    function dump_domain {
            mkdir -p $DUMP_DIR 2>&1
            DOMAIN="$1"
            echo "["`date`"] Ukladam dump domeny $DOMAIN"
            virsh dumpxml "$DOMAIN" > "$DUMP_DIR/$DOMAIN.xml" 2>&1
    }
    
    function dump_all_domains {
    	i=0
    	for loc_domain in `virsh list --all | awk '{print $2}'`; do
            	if [ $i -ge 1 ]
    	        then
    	                dump_domain "$loc_domain"
    	        fi
    
    	        i=$((i+1))
    	done
    
    }
    
    
    #
    # Ukonci beh programu v pripade, ze probiha restaurovani diskoveho pole (aby nedoslo k pretizeni)
    #
    function exit_when_resync {
            tstresyncval=`grep resync /proc/mdstat`
            if [ -n "$tstresyncval" ]
            then
                    echo "["`date`"] Probiha restaurovani diskoveho pole!"
                    exit 1
            fi
    }
    
    
    
    ################---------------------------------####################
    
    if [ -z "$VOLUME_GROUP" ]
    then
    	echo "["`date`"] ""ERROR! Nebyla zadana skupina svazku! (VOLUME GROUP)"
    	exit 1
    fi
    
    exit_when_resync
    
    if [ "$CLEAR_BACKUP_DESTINATION" == "" ]
    then
    	# default hodnota je 1 (smazat)
    	CLEAR_BACKUP_DESTINATION=1
    fi
    
    if [ $CLEAR_BACKUP_DESTINATION -ne 0 ]
    then
    	# vycisteni slozky pro pripravu dat k zalohovani
    	echo "["`date`"] ""Mazu slozku pro pripravu zalohy"
    	echo "["`date`"] ""rm -rf $DESTINATION/*"
    	rm -rf $DESTINATION/* 2>&1
    fi
    
    echo "["`date`"] Backing up /etc"
    rsync -av /etc $DESTINATION 2>&1
    
    echo "["`date`"] Backing up /usr/local/bin"
    mkdir -p $DESTINATION/usr
    mkdir -p $DESTINATION/usr/local
    mkdir -p $DESTINATION/usr/local/bin
    rsync -av /usr/local/bin/* $DESTINATION/usr/local/bin 2>&1
    
    dump_all_domains
    
    backup_logical_volumes
    
    echo "["`date`"] ""Priprava zalohy dokoncena"
    
    musis mit nainstalovan i rsync. U me to slouzi k vytvoreni zalohy na lokalni disk, odkud si to jiny proces potom stahuje do zalohy a az tam nekde venku se provadi i rotace zaloh (pouzivam dirvish).

    Zavolas to takto: (mam to nazvane lvs_dump) lvs_dump {jmeno volume group} // takto se provede smazani tmp uloziste - pokud mas vic skupin, tak se to vola s parametrem 0 lvs_dump {jmeno prvni volume group} lvs_dump {jmeno volume group1} 0 lvs_dump {jmeno volume group2} 0 lvs_dump {jmeno volume group3} 0

    atd...

    Obcas se muze stat, ze shodis masinu zrovna kdyz mas vytvoreny snapshot a tak mam za to, ze je dobre behem bootovani kazdy snapshot zrusit (v te dobe je uz kazdy takovy zbytecny) a tak do /etc/rc.local (nebo jakkoliv po spusteni) jeste volam tento script:
    #!/bin/bash
    
    i=0
    for snapshot in `lvs 2>/dev/null | awk {'print $1'}`; do
    	if [ $i -gt 0 ]
    	then
    		tstsn=`lvs 2>/dev/null | grep "$snapshot" | awk {'print $5'}`
    		if [ -n "$tstsn" ] && [ "$snapshot" != "$tstsn" ]
    		then
    			vg=`lvs 2>/dev/null | grep "$snapshot" | awk {'print $2'}`
    			lvremove -f '/dev/'"$vg"'/'"$snapshot"
    		fi
    	fi
    
    	i=$((i+1))
    done
    

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.