Subversion Repositories My Stuff

Compare Revisions

Ignore whitespace Rev 28 → Rev 29

/trunk/Bash/mail-stress-testing.sh
0,0 → 1,49
#!/bin/sh
 
#####################################################################
# Script to send disierd number of emails to one adress
# to stress test mail server
#
# This script is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# Author: Andrzej Kardaś
# License: GPLv3
# The full version of the licencse can be obtainted by visiting:
# http://www.gnu.org/licenses/gpl.html
#######################################################################
 
SERVERNAME=$(hostname)
DATE=$(date +"%d.%m.%Y")
EMAIL=test@test.pl
FILENAME="/var/tmp/attachment-${DATE}.txt"
HOWMANY=${1}
 
echo "Czas pracy wysylajacego komputera" > ${FILENAME}
/usr/bin/uptime >> ${FILENAME}
echo "Dane komputera wysylajacego:" >> ${FILENAME}
/usr/bin/uname -a >> ${FILENAME}
echo "Adres IP komputera:" >> ${FILENAME}
/sbin/ifconfig | grep Bcast | awk '{print $2 }'|awk -F":" '{print $2}' >> ${FILENAME}
echo "Publiczy adres wysylajacego komputera:" >> ${FILENAME}
/usr/bin/curl -s http://whatismyip.org >> ${FILENAME}
 
echo "To jest testowy email aby przetestować możliwość odebrania dużej ilości maili przez serwer" > /var/tmp/msgfile-${DATE}
echo "Czas pracy wysylajacego komputera" >> /var/tmp/msgfile-${DATE}
/usr/bin/uptime >> /var/tmp/msgfile-${DATE}
echo "Dane komputera wysylajacego:" >> /var/tmp/msgfile-${DATE}
/usr/bin/uname -a >> /var/tmp/msgfile-${DATE}
echo "Adres IP komputera:" >> /var/tmp/msgfile-${DATE}
/sbin/ifconfig | grep Bcast | awk '{print $2 }'|awk -F":" '{print $2}' >> /var/tmp/msgfile-${DATE}
echo "Publiczy adres wysylajacego komputera:" >> /var/tmp/msgfile-${DATE}
/usr/bin/curl -s http://whatismyip.org >> /var/tmp/msgfile-${DATE}
 
 
for ((i=1; i<=HOWMANY;i++))
do
echo "wsylam maila numer ${i}"
/usr/bin/mutt -s "${DATE} To jest mail testowy numer ${i}" ${EMAIL} -a ${FILENAME} < /var/tmp/msgfile-${DATE}
sleep 2
done
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: Bash/net-functions-root.sh
===================================================================
--- Bash/net-functions-root.sh (nonexistent)
+++ Bash/net-functions-root.sh (revision 29)
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+check_root() {
+ if [ "$(whoami)" != "root" ]
+ then
+ echo "Blad: tylko root moze uzywac tego pliku"
+ return 1
+ fi
+}
+
+config_ip() {
+ cd /tmp/setup.opts
+ dialog --title "Konfiguracja TCP/IP" --menu "Mozesz wykorzystac DHCP do automatycznej konfiguracji interfejsu sieciowego lub skonfigurowac adres IP recznie. Wyberz odpowiednia opcje:" 20 60 7 1 "Wykorzystaj DHCP do automaycznej konfiguracji" 2 "Wprowadz adresacje IP recznie" 2> ${iface}.DHCP
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ /sbin/ip addr flush dev ${iface}
+ /sbin/dhcpcd -k ${iface}
+ /sbin/dhcpcd -n -t 10 -h $(hostname) ${iface} &
+ ;;
+ 2)
+ dialog --title "Adres IP" --inputbox "Wprowadz adres IP dla domyslnego interfejsu ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.IP
+ IP=$(tail -n 1 ${iface}.IP)
+ BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255
+ dialog --title "Adres Rozgloszeniowy" --inputbox "Wprowadz adres Rozgloszeniowy dla domyslnego interfejsu ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.BC
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ dialog --title "Maska Sieci" --inputbox "Wprowadz Maske Sieci dla domyslnego interfejsu ${iface}" 20 50 "255.255.255.0" 2> ${iface}.NM
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ dialog --title "Brama/Router" --inputbox "Wprowadz adres Bramy/Routera ${iface}:" 20 50 2> ${iface}.GW
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ dialog --title "Serwer DNS" --inputbox "Wprowadz adres IP serwera DNS" 20 50 2> ${iface}.DNS
+ DNS=$(tail -n 1 ${iface}.DNS)
+ /sbin/ip addr flush dev ${iface}
+ /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK}
+ if [ -n "${GATEWAY}" ]
+ then
+ /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1
+ fi
+ if [ -n "${DNS}" ]
+ then
+ dialog --title "Domena Wyszukiwania" --inputbox "Wprowadz domene wyszukiwania (Wcisnij Enter aby pominac:)" 20 50 2> ${iface}.SUFFIX
+ SUFFIX=$(tail -n 1 ${iface}.SUFFIX)
+ echo "nameserver ${DNS}" > /etc/resolv.conf
+ if [ -n "${SUFFIX}" ]
+ then
+ echo "search ${SUFFIX}" >> /etc/resolv.conf
+ fi
+ fi
+ ;;
+ esac
+}
+
+write_net_conf() {
+ cd /tmp/setup.opts
+ echo "" > /etc/conf.d/net
+ echo "# Konfiguracja sieci zapisana przed net-setup-root" > /etc/conf.d/net
+ DHCP=$(tail -n 1 ${iface}.DHCP)
+ case ${DHCP} in
+ 1)
+ echo "config_${iface}=\"dhcp\"" >> /etc/conf.d/net
+ echo "fallback_${iface}=\"apipa\"" >> /etc/conf.d/net
+ ;;
+ 2)
+ IP=$(tail -n 1 ${iface}.IP)
+ BROADCAST=$(tail -n 1 ${iface}.BC)
+ NETMASK=$(tail -n 1 ${iface}.NM)
+ GATEWAY=$(tail -n 1 ${iface}.GW)
+ if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ]
+ then
+ echo "config_${iface}=\"${IP} netmask ${NETMASK} brd ${BROADCAST}\"" >> /etc/conf.d/net
+ if [ -n "${GATEWAY}" ]
+ then
+ echo "routes_${iface}=\"default via ${GATEWAY}\"" >> /etc/conf.d/net
+ fi
+ echo "fallback_${iface}=\"apipa\"" >> /etc/conf.d/net
+ fi
+ ;;
+ esac
+}
\ No newline at end of file
/Bash/net-functions-root.sh
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: Bash/net-functions-service.sh
===================================================================
--- Bash/net-functions-service.sh (nonexistent)
+++ Bash/net-functions-service.sh (revision 29)
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+config_ip() {
+ cd /tmp/${USER}/setup.opts
+ dialog --title "Konfiguracja TCP/IP" --menu "Mozesz wykorzystac DHCP do automatycznej konfiguracji interfejsu sieciowego lub skonfigurowac adres IP recznie. Wyberz odpowiednia opcje:" 20 60 7 1 "Wykorzystaj DHCP do automaycznej konfiguracji" 2 "Wprowadz adresacje IP recznie" 2> ${iface}.${USER}.DHCP
+ DHCP=$(tail -n 1 ${iface}.${USER}.DHCP)
+ case ${DHCP} in
+ 1)
+ sudo /sbin/ip addr flush dev ${iface}
+ sudo /sbin/dhcpcd -k ${iface}
+ sudo /sbin/dhcpcd -n -t 10 -h $(hostname) ${iface} &
+ ;;
+ 2)
+ dialog --title "Adres IP" --inputbox "Wprowadz adres IP dla domyslnego interfejsu ${iface}:" 20 50 "192.168.1.1" 2> ${iface}.${USER}.IP
+ IP=$(tail -n 1 ${iface}.${USER}.IP)
+ BC_TEMP=$(echo $IP|cut -d . -f 1).$(echo $IP|cut -d . -f 2).$(echo $IP|cut -d . -f 3).255
+ dialog --title "Adres Rozgloszeniowy" --inputbox "Wprowadz adres Rozgloszeniowy dla domyslnego interfejsu ${iface}:" 20 50 "${BC_TEMP}" 2> ${iface}.${USER}.BC
+ BROADCAST=$(tail -n 1 ${iface}.${USER}.BC)
+ dialog --title "Maska Sieci" --inputbox "Wprowadz Maske Sieci dla domyslnego interfejsu ${iface}" 20 50 "255.255.255.0" 2> ${iface}.${USER}.NM
+ NETMASK=$(tail -n 1 ${iface}.${USER}.NM)
+ dialog --title "Brama/Router" --inputbox "Wprowadz adres Bramy/Routera ${iface}:" 20 50 2> ${iface}.${USER}.GW
+ GATEWAY=$(tail -n 1 ${iface}.${USER}.GW)
+ dialog --title "Serwer DNS" --inputbox "Wprowadz adres IP serwera DNS" 20 50 2> ${iface}.${USER}.DNS
+ DNS=$(tail -n 1 ${iface}.${USER}.DNS)
+ sudo /sbin/ip addr flush dev ${iface}
+ sudo /sbin/ifconfig ${iface} ${IP} broadcast ${BROADCAST} netmask ${NETMASK}
+ if [ -n "${GATEWAY}" ]
+ then
+ sudo /sbin/route add default gw ${GATEWAY} dev ${iface} netmask 0.0.0.0 metric 1
+ fi
+ if [ -n "${DNS}" ]
+ then
+ dialog --title "Domena Wyszukiwania" --inputbox "Wprowadz domene wyszukiwania (Wcisnij Enter aby pominac:)" 20 50 2> ${iface}.${USER}.SUFFIX
+ SUFFIX=$(tail -n 1 ${iface}.${USER}.SUFFIX)
+ echo "nameserver ${DNS}" > dns-config
+ if [ -n "${SUFFIX}" ]
+ then
+ echo "search ${SUFFIX}" >> dns-config
+ fi
+ cat dns-config | sudo tee /etc/resolv.conf > /dev/null
+ fi
+ ;;
+ esac
+}
+
+write_net_conf() {
+ cd /tmp/${USER}/setup.opts
+ echo "" > sudo /usr/bin/tee /etc/conf.d/net
+ echo "# Konfiguracja sieci zapisana przed net-setup-serwis" > net-config
+ DHCP=$(tail -n 1 ${iface}.${USER}.DHCP)
+ case ${DHCP} in
+ 1)
+ echo "config_${iface}=\"dhcp\"" >> net-config
+ echo "fallback_${iface}=\"apipa\"" >> net-config
+ cat net-config | sudo tee /etc/conf.d/net > /dev/null
+ ;;
+ 2)
+ IP=$(tail -n 1 ${iface}.${USER}.IP)
+ BROADCAST=$(tail -n 1 ${iface}.${USER}.BC)
+ NETMASK=$(tail -n 1 ${iface}.${USER}.NM)
+ GATEWAY=$(tail -n 1 ${iface}.${USER}.GW)
+ if [ -n "${IP}" -a -n "${BROADCAST}" -a -n "${NETMASK}" ]
+ then
+ echo "config_${iface}=\"${IP} netmask ${NETMASK} brd ${BROADCAST}\"" >> net-config
+ if [ -n "${GATEWAY}" ]
+ then
+ echo "routes_${iface}=\"default via ${GATEWAY}\"" >> net-config
+ fi
+ echo "fallback_${iface}=\"apipa\"" >> net-config
+ cat net-config | sudo tee /etc/conf.d/net > /dev/null
+ fi
+ ;;
+ esac
+}
\ No newline at end of file
/Bash/net-functions-service.sh
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: Bash/net-setup-root.sh
===================================================================
--- Bash/net-setup-root.sh (nonexistent)
+++ Bash/net-setup-root.sh (revision 29)
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+if [ -f /usr/local/bin/net-functions-root.sh ]
+then
+ source /usr/local/bin/net-functions-root.sh
+else
+ echo "Blad: /usr/local/bin/net-functions-root.sh nie mogly zostac zaladowane!"
+ exit 1
+fi
+
+if [ ! -x $(which dialog) ]
+then
+ echo "Blad: Program dialog jest wymagany do uruchomienia net-setup. Koncze prace!"
+ exit 1
+fi
+
+check_root || exit 1
+
+if [ "${#}" -eq 1 ]; then
+ iface="${1}"
+else
+ echo "Blad: skrypt przyjmuje identyfikator interfjesu sieciowego jako pierwszy parametr skryptu."
+ exit 1
+fi
+
+# Hide any potential error messages from the readlink/dirname/etc calls below
+exec 2>/dev/null
+
+[ ! -d /tmp/setup.opts ] && mkdir -p /tmp/setup.opts
+cd /tmp/setup.opts
+
+# Show stderr again
+exec 2>/dev/stderr
+
+config_ip
+
+if dialog --title "Zapisanie zmian na stale" --yesno "Czy zapisac zmiany w konfiguracji sieci tak aby byly one stosowane podczas kazdego kolejnego uruchomienia maszyny wirtualanej?\n\n Uwaga! Wybranie Nie, spowoduje, ze po restarcie maszyny przywrocone zostana poprzednie ustawienia" 15 70
+then
+ write_net_conf
+ echo "Zmiany w konfiguracji interfejsu sieciowego zostaly zapisane i beda stosowane po ponownym uruchomieniu maszyny."
+ echo ""
+else
+ echo "Zmiany w konfiguracja interfejsu nie zostaly zapisany na stale i zostana przywrocone do poprzedniech ustawien po ponownym uruchomieniu maszyny."
+ echo ""
+fi
+
+echo "Jesli skonfigurowales interfejs poprawnie mozesz wykonac komende \"ping www.wp.pl\" aby sprawdzic czy uzyskales polaczenie sieciowe."
+
+# vim: ts=4
\ No newline at end of file
/Bash/net-setup-root.sh
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: Bash/net-setup-service.sh
===================================================================
--- Bash/net-setup-service.sh (nonexistent)
+++ Bash/net-setup-service.sh (revision 29)
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+if [ -f /usr/local/bin/net-functions-service.sh ]
+then
+ source /usr/local/bin/net-functions-service.sh
+else
+ echo "Blad: /usr/local/bin/net-functions-serwis.sh nie mogly zostac zaladowane!"
+ exit 1
+fi
+
+if [ ! -x $(which dialog) ]
+then
+ echo "Blad: Program dialog jest wymagany do uruchomienia net-setup. Koncze prace!"
+ exit 1
+fi
+
+if [ "${#}" -eq 1 ]; then
+ iface="${1}"
+else
+ echo "Blad: skrypt przyjmuje identyfikator interfjesu sieciowego jako pierwszy parametr skryptu."
+ exit 1
+fi
+
+# Hide any potential error messages from the readlink/dirname/etc calls below
+exec 2>/dev/null
+
+[ ! -d /tmp/${USER}/setup.opts ] && mkdir -p /tmp/${USER}/setup.opts
+cd /tmp/${USER}/setup.opts
+
+# Show stderr again
+exec 2>/dev/stderr
+
+config_ip
+
+if dialog --title "Zapisanie zmian na stale" --yesno "Czy zapisac zmiany w konfiguracji sieci tak aby byly one stosowane podczas kazdego kolejnego uruchomienia maszyny?\n\n Uwaga! Wybranie Nie, spowoduje, ze po restarcie maszyny przywrocone zostana poprzednie ustawienia" 15 70
+then
+ write_net_conf
+ echo "Zmiany w konfiguracji interfejsu sieciowego zostaly zapisane i beda stosowane po ponownym uruchomieniu maszyny."
+ echo ""
+else
+ echo "Zmiany w konfiguracja interfejsu nie zostaly zapisany na stale i zostana przywrocone do poprzedniech ustawien po ponownym uruchomieniu maszyny."
+ echo ""
+fi
+
+echo "Jesli skonfigurowales interfejs poprawnie mozesz wykonac komende \"ping www.wp.pl\" aby sprawdzic czy uzyskales polaczenie sieciowe."
+
+# vim: ts=4
\ No newline at end of file
/Bash/net-setup-service.sh
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property