File: //sbin/httpd-error-logger.sh
#!/bin/bash
DATE=`date +%Y-%m-%d`
while read line ; do
[ -z "$line" ] && continue
DOMAIN=""
if [[ "$line" =~ \/var\/www\/html\/([^\]]+).$ ]]; then
DOMAIN=$(echo ${BASH_REMATCH[1]} | cut -d'/' -f 1)
fi
if [ -n "$DOMAIN" ]; then
echo "${line//\[host:${DOMAIN}\] /}" >>"/var/www/html/$DOMAIN/logs/error_${DATE}.log"
chown apache:apache /var/www/html/$DOMAIN/logs/error_${DATE}.log
else
echo "${line}" >> /var/www/html/error_${DATE}.log
chown apache:apache /var/www/html/error_${DATE}.log
fi
done < /dev/stdin