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