Friday, November 1, 2013

Web Server Shell Scripts Related

Web Server Shell Scripts Related

======================= create-user.sh ============================
#!/bin/bash
# Checking if 2 parameters are supplied
if (! test $1 || ! test $2)
then
  echo "Usage: $0 username password"
  exit 1
fi

# Testing if the user exists already
getent passwd $1 &>/dev/null
if [ $? -eq 0 ];
then
  echo "User \"$1\" exists already"
  exit 1
fi
useradd -m -p$(echo "$2" | openssl passwd -1 -stdin ) -s /bin/bash $1
echo "Linux user \"$1\" created."

======================= create-database.sh ============================
#!/bin/bash
# Checking if 2 parameters are supplied
# In this example Database user and Database Name are the same name.
if (! test $1 || ! test $2)
then
  echo "Usage: $0 db-name db-password"
  exit 1
fi
MYSQL="$(which mysql)"
MYHOST="db-server-name"
MYUSER="root"
MYPASS="R00tP@ssw0rd"
DBS="$($MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse 'show databases')"
for db in $DBS
do
  if [ "$db" == "$1" ];
  then
    echo "Database \"$1\" exists already."
    exit 1
  fi
done
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse "CREATE DATABASE \`$1\` DEFAULT CHARSET utf8;"
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse "GRANT ALL PRIVILEGES ON \`$1\`.* to \`$1\`@localhost identified by '$2';"
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse "GRANT ALL PRIVILEGES ON \`$1\`.* to \`$1\`@web-server identified by '$2';"
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse "GRANT ALL PRIVILEGES ON \`$1\`.* to \`$1\`@12.23.34.45 identified by '$2';"
echo "Database \"$1\" and database user \"$1\" created."

======================= create-vhost.sh ============================
#!/bin/bash
# Checking if parameter are supplied
# In this example we need to have a virtualhost template.
if (! test $1)
then
  echo "Usage: $0 domain-name"
  exit 1
fi

cat /etc/apache2/sites-available/* | grep ServerName | cut -d\  -f2 > domains.tmp
if (grep -Fxq $1 domains.tmp)
then
  echo "Domain \"$1\" exists already"
  exit 1
fi
rm domains.tmp
# Adding "VirtualHost"
echo "Creating virtual host \"$1\" ..."
cp /etc/apache2/sites-available/template /etc/apache2/sites-available/$1
sed -e "s/DOMAINNAME/$1/g" /etc/apache2/sites-available/$1 > /etc/apache2/sites-available/$1
# Enabling site and reload Apache
echo "Enabling site and reloading Apache configuration"
a2ensite $1
service apache2 reload

======================= delete-vhost.sh ============================
!/bin/bash
# Delete VirtuhaHost

ls /etc/apache2/sites-enabled/ > site-enable.tmp
sed -i '/000-default/d' site-enable.tmp

for vhost in $(ls /etc/apache2/sites-enabled/)
do
   # Check if all the users
   if (grep -Fxq $vhost site-enable.tmp)
   then
        a2dissite $vhost
   fi
done
echo "Site $vhost disable...!"
rm -f site-enable.tmp

======================= delete-db.sh ============================
#!/bin/bash
# Drop Databases
MYSQL=$(which mysql)
MYSQLDUMP="$(which mysqldump)"
MYHOST="mysql-server"
MYUSER="root"
MYPASS="R00TPassW0rd"
# Get all databases start with "prefix"
DBS="$($MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse 'show databases')"
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse 'show databases' |grep dbprefix > all-db.tmp
for db in $DBS
do
   # check if db exist
   if (grep -Fxq $db all-db.tmp)
   then
$MYSQL -u $MYUSER -h $MYHOST -p$MYPASS -Bse "drop database \`$db\`;"
        echo "Database \`$db\` droped...!"
   fi
done

echo -e "Success... \nDatabase $db droped..."
======================= delete-users.sh ============================
#!/bin/bash
# Delete VirtuhaHost

ls /home/ > users.tmp
# Exclude user Vannak from the file, so this user will be not remove.
sed -i '/vannak/d' /opt/scripts/edit-scripts/delete-script/users.tmp

for user in $(ls /home/)
do
   # Check if all the users
   if (grep -Fxq $user /opt/scripts/edit-scripts/delete-script/users.tmp)
   then
        userdel -r $user
   fi
done
echo "User $user deleted...!"
#rm -f users.tmp

======================= adding-development-site.sh ===================
#!/bin/bash
if [ $1 = "dev" ]
then
VHOSTPATH=/etc/apache2/sites-available
# Check domain partials
if grep -ril "dev.$1.vannak.org" $VHOSTPATH > /dev/null
        then
        echo "1:Domain partials dev.$1.vannak.org already exist."
                exit 1
        else
        echo "0:Domain partials dev.$1.vannak.org will be create.."
fi
echo "Adding dev.$1.vannak.org ...!"
fi

No comments:

Post a Comment