- #!/bin/bash
- ########################################################
- #
- #
- # Copyright (c) 2025, CEGAL DK, All rights reserved.
- #
- # PURPOSE/NOTES
- # Check Apache config files and status
- #
- # arguments
- #
- # REVISIONS:
- # Ver Date Author Description
- #
- # 1.0 2025.09.11 CEGAL.DK/amg created
- #
- #########################################################
- progname=`basename $0`
- BASEDIR=$(dirname "$0")
- DATE=$(date +"%Y%m%d_%s")
- LOG=`basename $progname .sh`.log
- function logthis()
- {
- THISDATE=`date '+%Y.%m.%d %H:%M:%S'`
- LOGTXT=$1
- LOGFILE=$2
- echo "${THISDATE} $LOGTXT "
- echo "${THISDATE} $LOGTXT " >> $LOGFILE
- }
- function main()
- {
- logthis "---> Start" $LOG
- logthis "Check Apache config files and status" $LOG
- # Check size of ssl.conf file
- SSLCONF="/etc/httpd/conf.d/ssl.conf"
- if [ -f $SSLCONF ]; then
- FILESIZE=$(stat -c%s "$SSLCONF")
- if [ $FILESIZE -gt 0 ]; then
- logthis "File $SSLCONF exists and is not empty (size: $FILESIZE bytes)." $LOG
- # Remove SSLCONF
- rm -f $SSLCONF
- logthis "File $SSLCONF has been removed." $LOG
- # Create empty SSLCONF
- touch $SSLCONF
- logthis "Empty file $SSLCONF has been created." $LOG
- else
- logthis "File $SSLCONF exists but is empty! - Nothing to do" $LOG
- fi
- # Check Apache config syntax
- logthis "Checking Apache config syntax:" $LOG
- apachectl configtest >> $LOG 2>&1
- if [ $? -eq 0 ]; then
- logthis "Apache config syntax is OK." $LOG
- else
- logthis "Apache config syntax has errors!" $LOG
- exit 1
- fi
- # Check Apache service status
- logthis "Checking Apache service status:" $LOG
- systemctl status httpd >> $LOG 2>&1
- if [ $? -eq 0 ]; then
- logthis "Apache service is running." $LOG
- else
- logthis "Apache service is not running! - Starting service" $LOG
- systemctl start httpd >> $LOG 2>&1
- if [ $? -eq 0 ]; then
- logthis "Apache service has been started." $LOG
- else
- logthis "Failed to start Apache service!" $LOG
- exit 1
- fi
- fi
- fi
- logthis "End <---" $LOG
- }
- ## Run main()
- main
- exit 0
Recent Pastes