create_summary_websites.sh: Add numbers of the counted statistcs.

This commit is contained in:
Christoph 2018-01-08 17:41:26 +01:00
parent 49ce38af2b
commit d5dde995d1

View File

@ -12,6 +12,23 @@ declare -a apache_vhost_dir_arr
declare -a _all_vhost_files_arr
declare -a _all_document_root_dirs_arr
PHP_VERIONS_SUPPORTED="5.3 5.4 5.5 5.6 7.0.7.1 7.2"
declare -i number_websites_53=0
declare -i number_websites_54=0
declare -i number_websites_55=0
declare -i number_websites_56=0
declare -i number_websites_70=0
declare -i number_websites_71=0
declare -i number_websites_72=0
declare -i number_redirected=0
declare -i number_mod_php=0
declare -i number_php_fpm=0
declare -i number_php_fcgid=0
declare -i number_overall=0
declare -i number_no_php_assigned=0
declare -i number_not_considered=0
# -------------
# --- Some functions
@ -33,6 +50,7 @@ clean_up() {
rm -f $_tmp_filename_php_71
rm -f $_tmp_filename_php_72
rm -f $_tmp_filename_not_considered
rm -f $_tmp_filename_no_php_assigned
exit $1
}
@ -298,34 +316,19 @@ echo "VHost file" > $filename_not_considered
echo ";" >> $filename_not_considered
cat <<EOF > ${DST_PATH_PHP}/index.php
<html>
<head>
<title>Statistics websites</title>
</head>
<body>
<ul>
<li><a href="websites_summary.php">full summary of all hosted websites</a></li>
<br />
<li><a href="websites_redirected.php">redirected websites</a></li>
<br />
<li><a href="websites_mod_php.php">websites mod_php</a></li>
<li><a href="websites_php_fpm.php">websites PHP-FPM</a></li>
<li><a href="websites_php_fcgid.php">websites FastCGI</a></li>
<br />
<li><a href="websites_php_53.php">websites PHP v5.3</a></li>
<li><a href="websites_php_54.php">websites PHP v5.4</a></li>
<li><a href="websites_php_55.php">websites PHP v5.5</a></li>
<li><a href="websites_php_56.php">websites PHP v5.6</a></li>
<li><a href="websites_php_70.php">websites PHP v7.0</a></li>
<li><a href="websites_php_71.php">websites PHP v7.1</a></li>
<li><a href="websites_php_72.php">websites PHP v7.2</a></li>
<br />
<li><a href="vhost_files_not_considered.php">vhost_files not considered</a></li>
</ul>
</body>
</html>
_tmp_filename_no_php_assigned=$(mktemp)
filename_no_php_assigned="${DST_DIR_CSV}/WEBSITES_NO_PHP_FOUND.csv"
cat <<EOF > ${DST_PATH_PHP}/websites_no_php_found.php
<?php
header('Content-Type:application/csv ; charset=utf-8');
header("Content-Disposition: attachment; filename=\"$(basename $filename_no_php_assigned)\"");
header('Pragma: no-cache');
header('Expires: 0');
readfile("$filename_no_php_assigned");
?>
EOF
echo "VHost file" > $filename_no_php_assigned
echo ";" >> $filename_no_php_assigned
# -----
@ -349,15 +352,15 @@ fi
# - Try to find apache vhost configuration directories
# -
if [[ -d "/usr/local/apache2/conf/vhosts" ]]; then
if [[ -d "/usr/local/apache2/conf/vhosts/0" ]]; then
apache_vhost_dir_arr+=("/usr/local/apache2/conf/vhosts")
#if [[ -d "/usr/local/apache2/conf/vhosts/0" ]]; then
while IFS='' read -r -d '' dirname ; do
if ! containsElement "$(realpath $dirname)" "${apache_vhost_dir_arr[@]}" ; then
apache_vhost_dir_arr+=("$(realpath $dirname)")
fi
done < <(find /usr/local/apache2/conf/vhosts -mindepth 1 -maxdepth 1 -type d -print0)
else
apache_vhost_dir_arr+=("/usr/local/apache2/conf/vhosts")
fi
#else
#fi
elif [[ -d "/etc/apache2/sites-enabled" ]]; then
apache_vhost_dir_arr+=("/etc/apache2/sites-enabled")
fi
@ -394,6 +397,8 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do
_vhost_file_not_considered=true
fi
((number_overall++))
if ! $_vhost_file_not_considered ; then
# - Get documetroot of current VHost configuration file
@ -813,6 +818,8 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do
fi
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_fpm
((number_php_fpm++))
elif grep -d skip -q -E "^\s*FCGIWrapper\s+.*\.php" $_vhost_file 2> /dev/null ; then
_php_engine="PHP FastCGI"
@ -825,44 +832,74 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do
_php_version="UNKNOWN"
fi
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_fcgid
((number_php_fcgid++))
elif $mod_php_installed ; then
_php_engine="Apache Handler"
_php_version="$MOD_PHP_VERSION"
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_mod_php
((number_mod_php++))
else
_php_version="No PHP assigned"
_php_engine=""
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_no_php_assigned
((number_no_php_assigned++))
fi
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_summary
if [[ "$_php_version" =~ ^5.3 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_53
((number_websites_53++))
fi
if [[ "$_php_version" =~ ^5.4 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_54
((number_websites_54++))
fi
if [[ "$_php_version" =~ ^5.5 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_55
((number_websites_55++))
fi
if [[ "$_php_version" =~ ^5.6 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_56
((number_websites_56++))
fi
if [[ "$_php_version" =~ ^7.0 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_70
((number_websites_70++))
fi
if [[ "$_php_version" =~ ^7.1 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_71
((number_websites_71++))
fi
if [[ "$_php_version" =~ ^7.2 ]]; then
echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_72
((number_websites_72++))
fi
elif ! $_vhost_file_not_considered ; then
@ -870,6 +907,9 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do
_redirect_site=$(grep -E "^\s*RewriteRule" $_vhost_file 2> /dev/null | awk '{print$3}' | sed 's/"//g' | sed 's/\/$//' | sed 's/https\?:\/\///g' | sed 's/\$1//g' | sort -u)
if [[ -n "$_redirect_site" ]] ; then
echo "$_server_name;;$_redirect_site;;$_vhost_file" >> $_tmp_filename_redirected
((number_redirected++))
else
_vhost_file_not_considered=true
fi
@ -877,6 +917,9 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do
if $_vhost_file_not_considered ; then
echo "$_vhost_file" >> $_tmp_filename_not_considered
((number_not_considered++))
fi
done
@ -894,5 +937,75 @@ cat $_tmp_filename_php_70 | sort >> $filename_php_70
cat $_tmp_filename_php_71 | sort >> $filename_php_71
cat $_tmp_filename_php_72 | sort >> $filename_php_72
cat $_tmp_filename_not_considered | sort >> $filename_not_considered
cat $_tmp_filename_no_php_assigned | sort >> $filename_no_php_assigned
# -----
# - Create summary file index.php
# -----
cat <<EOF > ${DST_PATH_PHP}/index.php
<html>
<head>
<title>Statistics websites $(hostname -f)</title>
</head>
<body>
<h4>$(hostname -f)</h4>
<ul>
<li><a href="websites_summary.php">full summary of all hosted websites</a>: $number_overall</li>
<br />
<li><a href="websites_redirected.php">redirected websites</a>: $number_redirected</li>
<br />
<li><a href="websites_mod_php.php">websites mod_php</a>: $number_mod_php</li>
<li><a href="websites_php_fpm.php">websites PHP-FPM</a>: $number_php_fpm</li>
<li><a href="websites_php_fcgid.php">websites FastCGI</a>: $number_php_fcgid</li>
<br />
<li><a href="websites_no_php_found.php">websites no PHP assigned</a>: $number_no_php_assigned</li>
<li><a href="vhost_files_not_considered.php">vhost_files not considered</a>: $number_not_considered</li>
<br />
</ul>
<h5>PHP versions supported by this script:<br />&nbsp;&nbsp;&nbsp; $PHP_VERIONS_SUPPORTED</h5>
<ul>
EOF
if [[ $number_websites_53 -gt 0 ]]; then
cat <<EOF > ${DST_PATH_PHP}/index.php
<li><a href="websites_php_53.php">websites PHP v5.3/a>: $number_websites_53<</li>
EOF
fi
if [[ $number_websites_54 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_54.php">websites PHP v5.4</a>: $number_websites_54</li>
EOF
fi
if [[ $number_websites_55 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_55.php">websites PHP v5.5</a>: $number_websites_55</li>
EOF
fi
if [[ $number_websites_56 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_56.php">websites PHP v5.6</a>: $number_websites_56</li>
EOF
fi
if [[ $number_websites_70 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_70.php">websites PHP v7.0</a>: $number_websites_70</li>
EOF
fi
if [[ $number_websites_71 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_71.php">websites PHP v7.1</a>: $number_websites_71</li>
EOF
fi
if [[ $number_websites_72 -gt 0 ]]; then
cat <<EOF >> ${DST_PATH_PHP}/index.php
<li><a href="websites_php_72.php">websites PHP v7.2</a>: $number_websites_72</li>
EOF
fi
cat <<EOF >> ${DST_PATH_PHP}/index.php
</ul>
</body>
</html>
EOF
clean_up