Showing posts with label Scripting. Show all posts
Showing posts with label Scripting. Show all posts

Friday, 14 September 2018

Disk Space Utilization

#!/bin/bash
ROOTPART=$(df | grep -w / | awk '{ print $5}' | sed 's/%//g')
MNTSHARE=$(df | grep -w /mnt/share | awk '{ print $5}' | sed 's/%//g')
THRESHOLD=15

if [ "$ROOTPART" -gt "$THRESHOLD" ] ; then
    mail -s 'Disk Space Alert' prem.londhe@netcracker.com << EOF
The root partition is used: $ROOTPART% on $HOSTNAME
EOF
fi

if [ "$MNTSHARE" -gt "$THRESHOLD" ] ; then
    mail -s 'Disk Space Alert' prem.londhe@netcracker.com << EOF
The root partition is used: $MNTSHARE% on $HOSTNAME 
EOF
fi

Sunday, 13 March 2016

Daily Monitoring Command Script

#!/bin/bash
# Bash Menu Script Example

PS3='Please enter your choice: '
options=("Disk Report" "Memory Report" "Network Report" "System Report" "Login Report" "Web Server Status" "MySQL Status" "MySQL Logs" "Web Server Log" "Mongo DB Status" "Mongo DB Logs" "Nagios Status" "Nagios Logs" "Clear Memory Cache" "Quit")
select opt in "${options[@]}"
do
    case $opt in
        "Disk Report")
            echo " ***** Disk Report *****"
echo ""
df -h
echo ""
echo "***** Disk Inodes *****"
echo ""
df -ih
echo ""
            ;;
        "Memory Report")
            echo "***** Memory Report *****"
echo ""
free -tm
echo ""
        ;;
        "Network Report")
            echo "***** Network Report ***** "
echo ""
netstat -tlupn
echo ""
            ;;
        "System Report")
            echo "***** System Report *****"
echo ""
tail -n  20 /var/log/messages
echo ""
            ;;
        "Login Report")
            echo "***** Login Report *****"
echo ""
tail -n  20 /var/log/secure
echo ""
echo "Successfully Logged into Server"
cat /var/log/secure |grep -i accepted
echo ""
            ;;

        "Web Server Status")
            echo "**** Web Server Status ****"
echo ""
service httpd status
echo ""
            ;;
        "MySQL Status")
            echo "***** MySQL Status *****"
echo ""
service mysqld status
echo ""
            ;;
        "MySQL Logs")
            echo "***** MySQL Logs *****"
echo ""
tail -n 20 /var/log/mysqld.log
echo ""
echo ""
            ;;
        "Web Server Log")
            echo "***** Web Server Log *****"
echo ""
tail -n  20 /var/log/httpd/error_log
echo ""
echo ""
            ;;
        "Mongo DB Status")
            echo "***** Mongo DB Status *****"
echo ""
service mongod status
echo ""
            ;;
        "Mongo DB Logs")
            echo "***** Mongo DB Logs *****"
echo ""
tail -n 20 /var/log/mongodb/mongod.log
echo ""
echo ""
            ;;
        "Nagios Status")
            echo "***** Nagios Status *****"
echo ""
service nagios status
echo ""
            ;;
         "Nagios Logs")
          echo "***** Nagios Logs *****"
echo ""
tail -n 20 /usr/local/nagios/var/nagios.log
echo ""
echo ""
            ;;
 "Clear Memory Cache")
          echo "***** Clear Memory Cache *****"
echo ""
sync; echo 3 > /proc/sys/vm/drop_caches
echo ""
;;
        "Quit")
            break
            ;;
        *) echo invalid option;;
    esac
done


:wq

chmod +x daily-server-monitoring-commands.sh

vim daily-server-monitoring-commands.sh

Tuesday, 8 March 2016

Text Processing 2 (For LDAP)

Input file (username.txt):

prem.londhe
anup.dubbewar
namdev.rathod
proco.pania


Desired Output:

dn: uid=prem.londhe,ou=Purchase,dc=firstcry,dc=net
objectClass: top
objectClass: inetOrgPerson
gn: prem
sn: londhe
userPassword: Firstcry@123
cn: prem.londhe

dn: uid=anup.dubbewar,ou=Purchase,dc=firstcry,dc=net
objectClass: top
objectClass: inetOrgPerson
gn: anup
sn: dubbewar
userPassword: Firstcry@123
cn: anup.dubbewar

dn: uid=namdev.rathod,ou=Purchase,dc=firstcry,dc=net
objectClass: top
objectClass: inetOrgPerson
gn: namdev
sn: rathod
userPassword: Firstcry@123
cn: namdev.rathod

dn: uid=proco.pania,ou=Purchase,dc=firstcry,dc=net
objectClass: top
objectClass: inetOrgPerson
gn: proco
sn: pania
userPassword: Firstcry@123
cn: proco.pania


Script:

#!/bin/sh
# On terminal, fire the command 'sh loop.sh > output.ldif'.
EMAILFILE=username.txt

for x in `grep -v ^# $EMAILFILE | awk '{print $1}'`; do

> var.txt
echo "$x" > var.txt
y=`cut -d '.' -f1 var.txt`;
z=`cut -d '.' -f2 var.txt`;


echo "dn: uid=$x,ou=Purchase,dc=firstcry,dc=net
objectClass: top
objectClass: inetOrgPerson
gn: $y
sn: $z
userPassword: Firstcry@123
cn: $x"
echo
done

Text processing 1

Input File (username.txt):


TilottamaChatterjee     D0:53:49:18:AB:D6       10.0.12.80
AtulDeokar      4c:bb:58:06:79:ec       10.0.12.81
DeepakSant      4C:BB:58:14:C7:42       10.0.12.82
VipinTergaonkar E0:06:E6:D3:89:2D       10.0.12.83
KunalRaut       DC:85:DE:A0:88:55       10.0.12.84
NayanPanchal    C0:38:96:97:10:9D       10.0.12.85
SandeepTandale  94:39:E5:D3:BB:65       10.0.12.86
PraneetSamaiya  64:5a:04:34:8a:d6       10.0.12.87


Desired Output:

name:TilottamaChatterjee
mac: D0:53:49:18:AB:D6
ip: 10.0.12.80
name:AtulDeokar
mac: 4c:bb:58:06:79:ec
ip: 10.0.12.81
name:DeepakSant
mac: 4C:BB:58:14:C7:42
ip: 10.0.12.82
name:VipinTergaonkar
mac: E0:06:E6:D3:89:2D
ip: 10.0.12.83
name:KunalRaut
mac: DC:85:DE:A0:88:55
ip: 10.0.12.84
name:NayanPanchal
mac: C0:38:96:97:10:9D
ip: 10.0.12.85
name:SandeepTandale
mac: 94:39:E5:D3:BB:65
ip: 10.0.12.86
name:PraneetSamaiya
mac: 64:5a:04:34:8a:d6
ip: 10.0.12.87


Script:

#!/bin/sh
# On terminal, fire the command 'sh loop.sh > output.ldif'.
EMAILFILE=username.txt


for x in `grep -v ^# $EMAILFILE | awk 'BEGIN { OFS = ";"; ORS = "\n\n" } { print $1,$2,$3 }'`; do

> var.txt
echo "$x" > var.txt
a=`cut -d ';' -f1 var.txt`;
y=`cut -d ';' -f2 var.txt`;
z=`cut -d ';' -f3 var.txt`;



echo "name:$a
mac: $y
ip: $z"
done

Saturday, 27 February 2016

Bash script to backup multiple folders in linux

#!/bin/sh

#############################################################
# File:         folder-backup.sh
# Description:  A shell script to backup Multiple FOLDERs
# Cron Example: 0 2 * * * sh /path/to/direbackup.sh
#############################################################

####DEFINE THESE#############################################
FOLDERLIST="/var/www/html /etc";
DUMPBASEDIR="/opt/backup";
SCPTOREMOTE=0;
REMOTESERVER="192.168.0.0";
REMOTEBASEDIR="/backup/server1";
####END CHANGE HERE###########################################

DATE=`/bin/date "+%Y-%b-%d"`;
DUMPDIR="$DUMPBASEDIR/$DATE";
REMOTEDIR="$REMOTEBASEDIR/$DATE";

if [ ! -d $DUMPDIR ];
then
        echo "Creating Directory: ".$DUMPDIR;
        mkdir $DUMPDIR;
fi

for FOLDER in $FOLDERLIST
do
        echo "FOLDER $FOLDER Backup Started";
    WOBFOLDER=${FOLDER/#\//}
        tar -czf $DUMPDIR/${WOBFOLDER//\//-}.tar.gz $FOLDER
        echo "FOLDER $FOLDER Backup Completed";
done

if [ $SCPTOREMOTE -eq "1" ]
then
        echo "Backing up data to remote server";
        scp -r $DUMPDIR $REMOTEUSER@$REMOTESERVER:$REMOTEDIR
#    rsync -avz -e 'ssh -i $REMOTESERVERKEY' $DUMPDIR $REMOTEUSER@$REMOTESERVER:$REMOTEDIR
fi
echo "Done";
exit;

Bash script to backup mysql databases rotationaly

#!/bin/sh

#############################################################
# File:         dbbackup.sh
# Description:  A shell script to backup all mysql databases
# Cron Example: 0 2 * * * sh /path/to/dbbackup.sh
#############################################################

####DEFINE THESE#############################################
USER="root"
PASSWORD="mysqlpass"
SCPTOREMOTE=0;
REMOTESERVER="192.168.0.0";
REMOTEDIR="/backup";
DUMPBASEDIR="/opt/backup";
####END CHANGE HERE###########################################

MYSQLDUMP=`which mysqldump`
MYSQL=`which mysql`
LOOK=`which find`
DATE=`/bin/date +%d-%b-%Y`;
DELDIR=`/bin/date -d "-7 day" +%d-%b-%Y`;
DUMPDIR="$DUMPBASEDIR/$DATE";

if [ ! -d $DUMPDIR ];
then
        echo "Creating Directory: ".$DUMPDIR;
        mkdir $DUMPDIR;
fi

# get a list of databases
databases=`$MYSQL --user=$USER --password=$PASSWORD \
 -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

# dump each database in turn
for db in $databases; do
    echo "Database $db Backup Started";
    $MYSQLDUMP --single-transaction --events --force --opt --user=$USER --password=$PASSWORD \
    --databases $db > "$DUMPDIR/$db.bak"
    echo "Database $db Backup Completed";
done

if [ $SCPTOREMOTE -eq "1" ]
then
        echo "Backing up data to remote server";
        scp -r $DUMPDIR $REMOTESERVER:$REMOTEDIR
fi
echo "Done";

if [ ! -d $DELDIR ];
then
    echo "No directory with name: $DELDIR"
    echo "exiting....."
    exit 1;
else
    echo "Deleting Backup Of Date : $DELDIR"
    $LOOK $DUMPBASEDIR -type d -name $DELDIR -exec rm -rf {} \; 2>/dev/null
    echo "Backup Deleted Successfully...!"
    exit 0;
fi

exit;

Bash script to generate high cpu load on server


#Create one file with name   loadserver.sh




#!/bin/sh
#Usage: ]# ./loadserver.sh 10
#http://blog.hostinclub.net

if [ $1 ]; then
        NUM_PROC=$1
else
        NUM_PROC=10
fi

for i in `seq 0 $((NUM_PROC-1))`; do
        awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &
done

echo "PIDS: `pidof awk`"


:wq

# chmod +x loadserver.sh
 # ./loadserver.sh 100  <--- you can mention here load