Last active
August 2, 2016 04:09
-
-
Save cPLevey/a4f1bbbca70525f8fc27ea5a571070c6 to your computer and use it in GitHub Desktop.
CMS Versions - Out of Date Checker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| HTTPDROOT=$(httpd -V 2>/dev/null |grep HTTPD_ROOT |awk '{gsub("-D HTTPD_ROOT=", "");gsub(/"/, "");gsub(" ","");print}'); | |
| HTTPDCONF=$(httpd -V 2>/dev/null |grep SERVER_CONFIG_FILE |awk '{gsub("-D SERVER_CONFIG_FILE=", "");gsub(/"/, "");gsub(" ", "");print}'); | |
| CONFPATH=$(echo $HTTPDROOT/$(echo $HTTPDCONF)); | |
| if [ -d "/etc/httpd/conf/plesk.conf.d/vhosts/" ]; then | |
| DOCROOTS=$(grep -RPo --no-filename '\/var\/www\/vhosts\/(.*)\/httpdocs' /var/www/vhosts/system/*/conf/ | uniq); | |
| else | |
| DOCROOTS=$(grep "DocumentRoot" $CONFPATH |awk '{gsub(" DocumentRoot ", "");print}'); | |
| fi; | |
| LATESTVERSINFO=$(curl -s 'http://repo.servergur.us/sshtool/server_crons/cms_latest'); | |
| WPLATEST=$(echo "$LATESTVERSINFO" |grep WordPress |awk '{print $2}'); | |
| JLATEST=$(echo "$LATESTVERSINFO" |grep Joomla |awk '{print $2}'); | |
| DLATEST=$(echo "$LATESTVERSINFO" |grep Drupal |awk '{print $2}'); | |
| echo "Latest WordPress Version: $WPLATEST"; | |
| echo "Latest Joomla! Version(s): $JLATEST"; | |
| echo "Latest Drupal Version(s): $DLATEST"; | |
| echo " "; | |
| echo "Searching for **OUTDATED** WordPress versions..."; | |
| echo " "; | |
| for i in $DOCROOTS; | |
| do | |
| if [ -d "$i" ]; then | |
| find $i -type f -iwholename "*/wp-includes/version.php" -exec grep -H "\$wp_version =" {} \; | grep -v "$WPLATEST"; | |
| fi; | |
| done; | |
| echo " "; | |
| echo "Searching for **OUTDATED** Joomla! versions..."; | |
| echo " "; | |
| for i in $DOCROOTS; | |
| do | |
| if [ -d "$i" ]; then | |
| find $i -type f \( -iwholename '*/libraries/joomla/version.php' -o -iwholename '*/libraries/cms/version.php' -o -iwholename '*/libraries/cms/version/version.php' \) -print0 -exec perl -e 'while | |
| (<>) { $release = $1 if m/ \$RELEASE\s+= .([\d.]+).;/; $dev = $1 if m/ \$DEV_LEVEL\s+= .(\d+).;/; } print qq( = $release.$dev\n);' {} \; | grep -v "$JLATEST"; | |
| fi; | |
| done; | |
| echo " "; | |
| echo "Searching for **OUTDATED** Drupal versions..."; | |
| echo " "; | |
| for i in $DOCROOTS; | |
| do | |
| if [ -d "$i" ]; then | |
| find $i -type f -iwholename "*/modules/system/system.info" -exec grep -H "version = \"" {} \; | grep -v "$DLATEST"; | |
| fi; | |
| done; | |
| echo " "; | |
| echo " "; | |
| echo "**OUTDATED** CMS version search completed." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment