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 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 0
dnes 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 1
dnes 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 0
dnes 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
dnes 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

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

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (11%)
 (2%)
 (73%)
 (3%)
 (10%)
Celkem 377 hlasů
 Komentářů: 31, poslední dnes 19:19
Rozcestník
Reklama

Dotaz: sh script - zalohovani

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