Skript na zálohu servera

PRACOVNÁ VERZIA!!

#!/bin/bash
# -----------------------------
# Skript na zalohovanie serveru
# -----------------------------
 
# Mail Adresa, kde sa posle sprava o vykonani zalohy
EMAIL="root@localhost"
# Format datumu
DATUM=$(date +"_%d-%m-%Y")
# Nazov zalohy
MENO_SUB="zaloha"$DATUM
# Pripona zbalenej zalohy
PRIPONA_SUB=".tgz"
CELE_MENO_SUB=${MENO_SUB}${PRIPONA_SUB}
# Zadajte cestu k adresaru, kde bude zaloha
PATH_ZALOHY="/zaloha/Zaloha"
 

 
# Kontrola adresara pre zalohu
# -e – otestuj ci existuje
# -p – ak je vytvoreny adr. nehlasi chybu, inak ak potrebuje vytvori adresar
if [ ! -e $PATH_ZALOHY ]	
	then
	mkdir -p $PATH_ZALOHY
fi

# deklaracia funkcie na zbalenie, parameter je cesta k adresaru co chcem zbalit
zbal (){ 
# TAR
# c – vytvorit zalohu
# v - s vypisom
# z - bude pouzita kompresia gzip
# P – pouzije absolutne cesty
# f – vytvori zalohu do suboru
tar -cvzPf ${PATH_ZALOHY}"/"${2}"_"${CELE_MENO_SUB} ${1}
}

# volanie funkcie zbal, parameter je cesta k adresaru a nazov suboru
zbal /etc etc
zbal /var/www www
zbal /var/lib/moodledata moodledata
zbal /home home
 
# Prihlasovacie udaje do databazy
DB_USER=peter
DB_PASS=peter
 
# deklaracia funkcie na zalohovanie databazy
db (){
mysqldump\
 --user=$DB_USER\
 --password=$DB_PASS\
 --opt\
 $1\
 | gzip > ${PATH_ZALOHY}"/"${1}${DATUM}.sql.gz
}
# volanie fcie, parameter je meno databazy
#db pokus
#db pokus2
 
# Export instalovanych balickov do suboru
dpkg --get-selections > ${PATH_ZALOHY}"/"${MENO_SUB}.txt
 
# Poslanie spravy cez Mutt, mail
# Predmet spravy
PREDMET="Zaloha server"
# Telo spravy
SPRAVA="Zalohovanie prebehlo v poriadku, mozes pokojne spavat"
# Poslat spravu pomocou mail
echo $SPRAVA | mail -s "$PREDMET" "$EMAIL"