prosim o pomoc se scriptem

Jan Pechanec jp at devnull.cz
Fri Sep 8 14:07:40 CEST 2006


On Fri, 8 Sep 2006, Jaroslav Votruba wrote:

> snazim se napsat jednoduchy scriptik na zalohu jedne DB z mysq a protoze s tim
> zacinam potreboval bych poradit s nekolika drobnostmi(pro vas,pro me zatim
> nadlidskej ukol)
>
> #!/bin/sh
> USER="uzivatel"                #dopln si uzivatele
> HESLO="tvoje_heslo"            #dopln si heslo
> DATE=`date +%Y-%m-%d`            #format datumu
> DATABASES="PwkDemo pwkdemoII"           #nazvy db psat za sebe oddelene mezerou
> NAMEBCUP=`$DATE $DATABASES.sql`        #jmeno zalohy

	nepuzival bych mezery ve jmenech, navic tady mas zpetny uvozovky 
(command substitution)

> MAIL=`mail at neco.cz mail2 at neco.cz`    #maily ,kam budou posilany vysledky

	opet backticks 

> zalohovani-psat za sebe oddelene mezerou
> LOG=`/var/log/pwk_backup/$NAMEBCUP.log`            #cesta k logu
> OK=`Zalohovani databaze $DATABASES probehlo v poradku`    #zaloha je vytvorena

	zase backticks, u obojiho

> FUCK="Zalohovani databaze $DATABASES se nezdarilo"    #zaloha neni vytvorena
>
>
> mysqldump -a -Q -c --user=$USER --password=$HESLO $DATABASES > "$CESTA
> $NAMEBCUP"
>
> ####PRVNI VEC CO SE MI NELIBI###
> #pokud do DATABASES napisu vic DB prestava mi to fungovat(logicky),bohuzel
> nevim jak to vse upravit ,aby pro kazdou DB co vypisu do DATABASES mi to
> vytvorilo zalohu a log

	pak to neumi mysqldump

	muzes to udelat treba takto:

	for i in $DATABASES; do
		mysqldump .....
	done

>
>
> #kontrola vytvoreni souboru a vytvoreni logu
>
> if
> test -f "$CESTA $NAMEBCUP"               #Soubor existuje

	nepouzivej test, ale [; to je spis konvence nez chyba

> then
> cd "$LOG"                                      #Vytvor log
> echo $OK > "$NAMEBCUP"

	chybi ti fi

>
> ####DRUHA VEC CO SE MI NELIBI###
> #jak se muzu vyhnout prikazu cd-predstavoval bych si to nejak jako   echo $OK >
> "$LOG $NAMEBCUP",ale to je nefuncni

	$LOG/$NAMEBCUP

> #proste bych chtel mit cestu na jednom radku
>
> else
> cd "$LOG"                                     # Soubor neexistuje. Vypis tedy
> chybu
>  echo $FUCK > "$NAMEBCUP"
> exit
>   fi
> ####TRETI VEC CO SE MI NELIBI###
> #nevim jak mam log vlozit do mailu a poslat na MAIL

	cat $LOG | mail -s xxx xxx at yyy.cz

	h.

-- 
Jan Pechanec <jp (at) devnull (dot) cz>
http://www.devnull.cz



More information about the Users-l mailing list