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í
×
včera 23:55 | Komunita

LTS (Long Term Support) podpora Ubuntu 12.04 LTS (Precise Pangolin) skončila po 5 letech od jeho vydání, tj. v dubnu 2017. V březnu 2017 ale Canonical představil placenou ESM (Extended Security Maintenance) podporu, díky které je Ubuntu 12.04 podporováno do dubna 2020. Dnes Canonical potvrdil ESM podporu také pro Ubuntu 14.04 LTS (Trusty Tahr), jehož LTS podpora skončí v dubnu 2019.

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

Byla vydána verze 3.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí HTML, CSS a JavaScriptu Electron (YouTube, GitHub). Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

Ladislav Hagara | Komentářů: 0
včera 14:44 | Nová verze

Po půl roce vývoje od vydání verze 6.0.0 byla vydána verze 7.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra a LLD.

Ladislav Hagara | Komentářů: 0
včera 13:44 | Nová verze

Byla vydána verze 3.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu. Zrušena byla podpora Pythonu 2.

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

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 1
včera 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
18.9. 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 21
18.9. 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

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

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 28
18.9. 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 6
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 370 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Dotaz: sh script - zalohovani

4.7.2005 15:00 Rozik | skóre: 14
sh script - zalohovani
Přečteno: 285×
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.