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

    Open source síťový zálohovací software Bacula (Wikipedie) byl vydán v nové major verze 13.0.0. Přehled novinek v příspěvku na blogu.

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

    Ve čtvrtek 7. července bude na Indiegogo spuštěna kampaň (preview) na podporu 10,1 palcového notebooku a herní konzole GPD WIN Max 2. Vybrat si bude možné mezi AMD a Intelem.

    Ladislav Hagara | Komentářů: 0
    včera 10:00 | Zajímavý software

    Bonsai Browser je webový prohlížeč postavený nad Electronem a napsaný v TypeScriptu. Videoukázka UX na Loom. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 3
    včera 09:00 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 1,18 %. Před rokem to bylo 0,89 %. Nejčastěji používané linuxové distribuce jsou Ubuntu, Arch Linux, Manjaro Linux a Linux Mint. Přehled her oficiálně podporujících SteamOS a Linux na stránkách Steamu. Přehled her pro Windows běžících na Linuxu díky Protonu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 4
    včera 00:44 | Pozvánky

    Začaly prázdniny a dovolené, což znamená jenom jednu věc - budete mít více času na své Bastlení a tudíž určitě dorazíte na naší Virtuální Bastlírnu! I když zbytek světa má okurkovou sezónu, v technice se stále něco děje a jako vždy pro vás máme připravenou spoustu novinek a zajímavých témat. Ptáte se, co konkrétně? Určitě si něco povíme o chystaném Raspberry Pi Pico W s přidanou Wi-Fi. Ze světa hardwaru nesmí chybět ani šílenosti jako 100n

    … více »
    bkralik | Komentářů: 0
    3.7. 00:22 | Nová verze

    Něco málo přes 10 let (3763 dnů) od vydání verze 1.0 byla vydána nová verze 4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    2.7. 15:33 | Nová verze

    Open source střílečka Xonotic (Wikipedie), fork Nexuiz, byla vydána ve verzi 0.8.5. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 7
    1.7. 22:44 | Komunita

    Byly zveřejněny videozáznamy a také fotogalerie z konference DevConf.cz Mini konané 2. června v Brně.

    Ladislav Hagara | Komentářů: 0
    1.7. 16:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.21.0. Z novinek je zdůrazněn nový "wl_pointer high-resolution scroll event".

    Ladislav Hagara | Komentářů: 6
    1.7. 12:22 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Zprávu o stavu kybernetické bezpečnosti České republiky za rok 2021 (pdf). Novým ředitelem NÚKIB je Lukáš Kintr.

    Ladislav Hagara | Komentářů: 5
    Jazyk uživatelského rozhraní desktopu mám nastavený na
     (51%)
     (47%)
     (1%)
    Celkem 78 hlasů
     Komentářů: 5, poslední včera 11:02
    Rozcestník


    Dotaz: sh script - zalohovani

    4.7.2005 15:00 Rozik | skóre: 14
    sh script - zalohovani
    Přečteno: 294×
    Poucen z nedavneho dotazu jsem se chtel pustit na neco praktickeho a opet jsem narazil na problem :-( Respektive na vic problemu... Zacatky nejsou lehke... :-( Prosim nekamenujte me - s programovanim sh scriptu vazne teprve zacinam... Dekuji za kazdou radu.

    Chybovy vypis: (ten me zatim trapi ze vseho nejvice...)
    /root/zaloha.sh: line 121: [: missing `]'
    /root/zaloha.sh: line 124: [: missing `]'
    /root/zaloha.sh: line 121: [: missing `]'
    /root/zaloha.sh: line 124: [: missing `]'
    /root/zaloha.sh: line 121: [: missing `]'
    /root/zaloha.sh: line 124: [: missing `]'
    /root/zaloha.sh: line 121: [: missing `]'
    /root/zaloha.sh: line 124: [: missing `]'
    /root/zaloha.sh: line 171: syntax error near unexpected token `fi'
    /root/zaloha.sh: line 171: `            fi'
    [root@server100 root]#
    
    Vlastni script... Vlozil jsem tam i komentare, co az kam chodi spolehlive a na co mam vyhrady. Kdybych vse popsal uz tady v zahlavi, byl by z toho roman...
    #!/bin/sh
    
    # Prirazeni "vstupu" do promennych
    odkud="$1"
    kam="$2"
    adresar="$3"
    interval="$4" #hodina, den, tyden, mesic
    archiv="$5" #rar, tgz
    vlastnik="$6"
    
    # Nastaveni default promennych
    prava="7700"
    error="0"
    log="/var/log/zalohovani"
    temp_file="/tmp/zaloha.$$"
    
    # Kontroly prazdnosti vstupu
    if [ -z "$odkud" ] ;
       then error="1"
    fi
    
    if [ "$odkud"="/" ] ; # v pripade cesty "/" by to nechodilo..
       then 
    	odkud=""
    	error="0"
    fi
    
    if [ -z "$kam" ] ;
       then error="1"
    fi
    
    if [ -z "$adresar" ] ;
       then error="1"
    fi
    
    if [ -z "$interval" ] ;
       then error="1"
    fi
    
    if [ -z "$archiv" ] ;
       then error="1"
    fi
    
    if [ -z "$vlastnik" ] ;
       then error="1"
    fi
    
    # Test existence cest potrebnych pro beh...
    if [ -d /tmp ] ;  
       then :
       else error="1"
    fi
    
    if [ -d "$odkud/" ] ;  
       then :
       else error="1"
    fi
    
    if [ -d "$kam" ] ;  
       then :
       else error="1"
    fi
    
    # Budem pokracovat v zalohovani, nebo ne?
    #  -----------------------------------------------------
    # Nasledujici if je spatny a nechodi, jak ma - vubec to neporovnava - zrejme se to dela jinak a ja nevim jak... Ten exit 1 jsem docasne vypnul, abych vedel, jak se to chova dal, kdyz uz to davam na forum...
    #  -----------------------------------------------------
    if [ "$error"="0" ] ;  
       then echo "tady stop :/ - $error" 
    	echo "Zaloha adresare $odkud/$adresar nebyla provedena. Zkontrolujte syntax prikazu a existenci pocatecni a cilove cesty..." >> "$log"
          #exit 1
    fi
    
    # kontrola existence struktury pro zalohovani a pripadne jeji vytvoreni...
    cd "$kam"
    if [ -d "$kam/$adresar" ] ;  
       then : 
       else 
    	mkdir "$adresar"
    	chmod "$prava" "$adresar" 
    	chown "$vlastnik" "$adresar"
            chgrp "$vlastnik" "$adresar"
    fi
    
    cd "$kam/$adresar"
    if [ -d "$kam/$adresar/$interval" ] ;  
       then :
       else 
    	mkdir "$interval"
    	chmod "$prava" "$interval" 
    	chown "$vlastnik" "$interval"
            chgrp "$vlastnik" "$interval"
    fi
    
    # Urceni toho, co se ma zalohovat...
    cd "$odkud/"
    case $interval in
      hodina) 
    	echo ""
    #  -----------------------------------------------------
    # Tady musim doplnit find pro hledani souboru starych jen 1 hodinu... Pokud mi chcete ulehcit praci, doplnte ho. V opacnem pripade se budu snazit dal - man find :-)
    #  -----------------------------------------------------
    
        ;;
      den)  
    	find "$adresar" -mtime -1 \! -type d -print > "$temp_file"
        ;;
      tyden)
    	find "$adresar" -mtime -7 \! -type d -print > "$temp_file"
        ;;
      mesic)
    	cd "$odkud/"
        ;;
      *) 
        echo "Zaloha adresare $odkud/$adresar nebyla provedena (chybny interval)" >> "$log"
          exit 1
    esac 
    #  -----------------------------------------------------
    # Az sem to chodi slusne (pokud pominu ten if na zacatku) - myslim, ze to dela to co chci (pokud jsem neco neprehledl). Je mozne, ze tam neco taky najdete, nebot nemuzu odzkouset, ze to chodi, tak jak ma... Dal uz to pravdepodobne nechodi... 
    #  -----------------------------------------------------
    	      
    # Redukce starsich zaloh...
    cd "$kam/$adresar/$interval"
    
    redukuj() {
       x="$1"  
       y="$x" # kvuli tomu, abych vedel, zda mam mazat...
       while [ "$x" -ge 0 ]; do
    	if [ "$x"=="$y" ] ;
    	   then 
    		if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv"]
    		   then rm -f "$kam/$adresar/$interval/$x-zpet.$archiv"
    		fi
    		if [ -e "$kam/$adresar/$interval/$x-zpet.wri"]
    		   then rm -f "$kam/$adresar/$interval/$x-zpet.wri"
    		fi
    	   else 
    		if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv"]
    		   then 
    mv "$kam/$adresar/$interval/$x-zpet.$archiv" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.$archiv"
    		fi
    		if [ -e "$kam/$adresar/$interval/$x-zpet.wri"]
    		   then 
    mv "$kam/$adresar/$interval/$x-zpet.wri" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.wri"
    		fi
    	fi
         	x=$(expr $x - 1)
       done
    }
    
    case $interval in
      hodina) redukuj 23
        ;;
      den)  redukuj 6
        ;;
      tyden) redukuj 3
        ;;
      mesic) redukuj 2
    esac 
    	      
    # Vytvoreni zalohy
    cd "$odkud/"
    
    case $interval in
      mesic) 
    	if [ "$archiv"="tgz"]
    	   then tar -czf "$kam/$adresar/$interval/1-zpet.$archiv $adresar"
    	fi
    	if [ "$archiv"="rar"]
    	   then :
    	fi
        ;;
      *) 
    	if [ -e "$temp_file"]
    	   then 
    		if [ "$archiv"="tgz"]
    		   then tar -cz -T "$temp_file" -f "$kam/$adresar/$interval/1-zpet.$archiv"
    		fi
    		if [ "$archiv"="rar"]
    		   then 
    		fi
    		mv "$temp_file" "$kam/$adresar/$interval/1-zpet.wri"
    	   else
       		echo "Zaloha adresare $odkud/$adresar nebyla provedena. Nenalezen seznam souboru k zalohovani ($temp_file)" >> "$log"
    	        exit 1
    	fi
    esac 
    
    #  -----------------------------------------------------
    # A taky jeste musim nejak udelat, aby se mi v logu zobrazil i "datum hodina" - hlaska (zatim je tam pouze ta hlaska) 
    #  -----------------------------------------------------
    
    
    Jeste jednou predem diky vsem zucastnenym!
    -- Zadny uceny z nebe nespad --

    Odpovědi

    4.7.2005 15:08 Rozik | skóre: 14
    Rozbalit Rozbalit vše Re: sh script - zalohovani
    Jo a tim ze jsem tam pridal ty komentare, tak nesedi uz cisla radku... Ktery if neni ukoncen jsem nenasel. Zbytek netusim, co mu vadi.
    -- Zadny uceny z nebe nespad --
    4.7.2005 15:09 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: sh script - zalohovani
    Nebudu komentovat, co ten skript dělá...

    1. Před ] v testu musí být mezera.

    2. Tělo then ... fi nemůže být prázdné.
    4.7.2005 15:26 Rozik | skóre: 14
    Rozbalit Rozbalit vše Re: sh script - zalohovani
    Parada, dekuji. Bylo to tim. Jeste mohu se zeptat, co je spatneho na teto podmince a proc se neprovede redukce zaloh?
    if [ "$error"="1" ] ;  
       then echo "tady stop :/ - $error" 
    	echo "Zaloha adresare $odkud/$adresar nebyla provedena. Zkontrolujte syntax prikazu a existenci pocatecni a cilove cesty..." >> "$log"
          #exit 1
    fi
    
    .
    .
    .
    
    redukuj() {
       x="$1"  
       y="$x" # kvuli tomu, abych vedel, zda mam mazat...
       while [ "$x" -ge 0 ]; do
    	if [ "$x"=="$y" ] ;
    	   then 
    		if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv" ]
    		   then rm -f "$kam/$adresar/$interval/$x-zpet.$archiv"
    		fi
    		if [ -e "$kam/$adresar/$interval/$x-zpet.wri" ]
    		   then rm -f "$kam/$adresar/$interval/$x-zpet.wri"
    		fi
    	   else 
    		if [ -e "$kam/$adresar/$interval/$x-zpet.$archiv" ]
    		   then 
    mv "$kam/$adresar/$interval/$x-zpet.$archiv" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.$archiv"
    		fi
    		if [ -e "$kam/$adresar/$interval/$x-zpet.wri" ]
    		   then 
    mv "$kam/$adresar/$interval/$x-zpet.wri" "$kam/$adresar/$interval/$(expr $x + 1)-zpet.wri"
    		fi
    	fi
         	x=$(expr $x - 1)
       done
    }
    
    
    -- Zadny uceny z nebe nespad --
    4.7.2005 15:28 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: sh script - zalohovani
    Kolem = musí být mezery ... hmmm a co třeba si přečíst trochu dokumentace?
    4.7.2005 15:49 Rozik | skóre: 14
    Rozbalit Rozbalit vše Re: sh script - zalohovani
    To byla ta rana, co jsem potreboval. Diky ti za ni. Dokumentaci jsem cetl nez jsem to sem pastnul..., ale vice jsem se alespon zacal soustredil na syntax a dosel do spravneho cile.
    -- Zadny uceny z nebe nespad --

    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.