/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 |