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 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    6.5. 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 3
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 564 hlasů
     Komentářů: 26, poslední včera 09:58
    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.