Create v-get-database-credentials-of-site

This commit is contained in:
myvesta 2020-07-12 18:57:28 +02:00 committed by GitHub
commit 8e3b348e6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,100 @@
#!/bin/bash
# Importing system environment
source /etc/profile
# Includes
source /usr/local/vesta/func/main.sh
if [ $# -lt 1 ]; then
echo "USAGE: v-get-database-credentials-of-site DOMAIN [SUBFOLDER]"
exit 1
fi
DOMAIN=$1
SUBFOLDER=''
if [ $# -gt 1 ]; then
SUBFOLDER=$2
fi
USER=$(/usr/local/vesta/bin/v-search-domain-owner "$DOMAIN")
if [ -z "$USER" ]; then
echo "Error: domain $DOMAIN does not exists"
exit 2
fi
SITE_FOLDER="/home/$USER/web/$DOMAIN/public_html"
CHECK_PUBLIC_SHTML=$(/usr/local/vesta/bin/v-list-web-domain "$USER" "$DOMAIN" | grep 'SSL:' | grep -c 'single')
if [ $CHECK_PUBLIC_SHTML -eq 1 ]; then
SITE_FOLDER="/home/$USER/web/$DOMAIN/public_shtml"
fi
if [ ! -z "$SUBFOLDER" ]; then
SITE_FOLDER="${SITE_FOLDER}/${SUBFOLDER}"
fi
CMS_TYPE=''
if [ -f "$SITE_FOLDER/wp-config.php" ]; then
CMS_TYPE='wordpress'
CONFIG_FILE="wp-config.php"
CONFIG_FILE_FULL_PATH="$SITE_FOLDER/$CONFIG_FILE"
fi
if [ -f "$SITE_FOLDER/configuration.php" ]; then
CMS_TYPE='joomla'
CONFIG_FILE="configuration.php"
CONFIG_FILE_FULL_PATH="$SITE_FOLDER/$CONFIG_FILE"
fi
if [ "$CMS_TYPE" = "wordpress" ]; then
CONFIG_FILE_FULL_PATH_BACKUP="${CONFIG_FILE_FULL_PATH}_backup"
cp $CONFIG_FILE_FULL_PATH $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|//.*$||g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|('|( '|g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|');|' );|g" $CONFIG_FILE_FULL_PATH_BACKUP
DATABASE_NAME=$(grep 'DB_NAME' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_USERNAME=$(grep 'DB_USER' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_PASSWORD=$(grep 'DB_PASSWORD' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_HOSTNAME=$(grep 'DB_HOST' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//")
rm $CONFIG_FILE_FULL_PATH_BACKUP
fi
if [ "$CMS_TYPE" = "joomla" ]; then
CONFIG_FILE_FULL_PATH_BACKUP="${CONFIG_FILE_FULL_PATH}_backup"
cp $CONFIG_FILE_FULL_PATH $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|//.*$||g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|='|= '|g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|= '| = '|g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s| =| =|g" $CONFIG_FILE_FULL_PATH_BACKUP
sed -i "s|';$|'|g" $CONFIG_FILE_FULL_PATH_BACKUP
DATABASE_NAME=$(grep 'public $db ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_USERNAME=$(grep 'public $user ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_PASSWORD=$(grep 'public $password ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//")
DATABASE_HOSTNAME=$(grep 'public $host ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//")
rm $CONFIG_FILE_FULL_PATH_BACKUP
fi
DATABASE_NAME=$(escape_shell_quote $DATABASE_NAME)
echo "DATABASE_NAME=$DATABASE_NAME"
DATABASE_USERNAME=$(escape_shell_quote $DATABASE_USERNAME)
echo "DATABASE_USERNAME=$DATABASE_USERNAME"
DATABASE_PASSWORD=$(escape_shell_quote $DATABASE_PASSWORD)
echo "DATABASE_PASSWORD=$DATABASE_PASSWORD"
DATABASE_HOSTNAME=$(escape_shell_quote $DATABASE_HOSTNAME)
echo "DATABASE_HOSTNAME=$DATABASE_HOSTNAME"
CONFIG_FILE_FULL_PATH=$(escape_shell_quote $CONFIG_FILE_FULL_PATH)
echo "CONFIG_FILE_FULL_PATH=$CONFIG_FILE_FULL_PATH"
CMS_TYPE=$(escape_shell_quote $CMS_TYPE)
echo "CMS_TYPE=$CMS_TYPE"
SITE_FOLDER=$(escape_shell_quote $SITE_FOLDER)
echo "SITE_FOLDER=$SITE_FOLDER"
USER=$(escape_shell_quote $USER)
echo "USER=$USER"