Ukázka skriptu, který kontroluje funkčnost web serveru – stahuje stránku , která se nemění a pokud je stránka na web serveru stejná jako při předchozím průchodu oznámí, že je stejná
#!/bin/bash
prom=`wget --no-verbose -O - http://192.168.10.1|md5sum| cut -d " " -f 1`
echo prom $prom
if [ -f /tmp/docasny ]; then
. /tmp/docasny
if [ "$prom1" == "$prom" ]; then
echo "vse je OK"
else
echo "chyba serveru"
prom1=$prom
echo prom1=\"$prom\" > /tmp/docasny
fi
else
prom1=$prom
echo prom1=\"$prom\" > /tmp/docasny
fi
Skript, který kontroluje dostupnost síťového zařízení pomocí příkazu ping
#!/bin/bash
prom=`ping 192.168.1.1 -s 1450 -c 10|grep transmitted|awk '{print $6;}' |tr -d '%'`
if [ "$prom" -lt "5" ] ; then
echo OK
else
echo Problem
fi
zjisteni kolik ma uzivatel souboru
#!/bin/bash
cd /home/ucitel
prom=`du|wc -l`
if [ "$prom" -ge "10000" ] ; then
echo uzivatel ma moc souboru
else
echo uzivatel je v poho
fi
zpracovani a rozparsovani textoveho souboru
#!/bin/bash
filename='users.txt'
echo Start
cat $filename| while read line
do
bar=(`echo $line | tr ';' ' '`)
echo ${bar[1]}
done
Ukázkový skript
#!/bin/bash
filename='users.txt'
echo Start
cat $filename| while read line
do
bar=(`echo $line | tr ';' ' '`)
echo user ${bar[0]}
echo heslo ${bar[1]}
bar1=(`echo ${bar[2]}| tr ',' ' '`)
for (( i=0; i < ${#bar1[@]}; i++ ))
do
echo skupina$i ${bar1[$i]}
getent group ${bar1[$i]}
if [ $? -ne 0 ] ; then
sudo su -c "groupadd ${bar1[$i]}"
fi
done
getent passwd ${bar[0]}
if [ $? -ne 0 ] ; then
sudo su -c "useradd ${bar[0]} -p ${bar[1]} -m -g users -G ${bar[2]}"
fi
done
varianta vyčtení dat z DB
prom=`echo "select * from users"|mysql -u [ucetDB] -p[heslo] test|grep -v heslo`
Script na zálohy
#!/bin/bash datum=`date +%d%m%y`; tar cvfz /tmp/$datumzaloha.tar.gz /etc if [ "$?" -eq "0" ]; then logger "záloha OK" else logger "záloha NO" fi
počítání počtu spojení na určitý port
příprava firewallu
iptables -F iptables -A OUTPUT -p tcp -sync --dport 80 -j LOG # budu logovat pouze požadavky na spojení s odchozím portem 80
vyčítání informací z firewallu
iptables -L -v #počet paketů případně bytů
případně z LOG systému
cat /var/log/messages |grep ....
Script na zálohy
Varianta pro odeslání informací mailem viz stránka