This file regenerate all awstats configurations files with the template:

- Remove old configurations files
- Open database and read all aws entries
- Generate new configuration files using the template
This commit is contained in:
Axel ROGER 2012-10-04 12:49:21 +00:00
parent 9b538026e4
commit 599de98996
2 changed files with 45 additions and 0 deletions

1
.gitattributes vendored
View File

@ -21,6 +21,7 @@ awstats/awstats.cache.php -text
awstats/awstats.sql -text
awstats/awstats.template.conf -text
awstats/awstats_alternc.png -text
awstats/awstatsconfregenerate.sh -text
awstats/bureau/admin/aws_add.php -text
awstats/bureau/admin/aws_del.php -text
awstats/bureau/admin/aws_doadd.php -text

View File

@ -0,0 +1,44 @@
#!/bin/bash
# Awstats configuration files regeneration by Axel
# Delete old stats configuration files, and
# regenerate them from the database with the new template!
CONFIG_FILE="/usr/lib/alternc/functions.sh"
TEMPLATE="/etc/alternc/templates/awstats/awstats.template.conf"
DIR_TARGET="/etc/awstats"
TMP_FILE=$(mktemp "/tmp/awstats_conf.XXXXXX")
if [ ! -r "$CONFIG_FILE" ]; then
echo "Can't access $CONFIG_FILE."
exit 1
fi
. "$CONFIG_FILE"
# Delete old stats configuration files
rm "$DIR_TARGET"/awstats.*.conf
$MYSQL_DO "SELECT id, hostname, public, hostaliases FROM aws;" | while read id hostname public hostaliases ; do
cp "$TEMPLATE" "$TMP_FILE"
users=""
$MYSQL_DO "SELECT login FROM aws_access WHERE id=$id;" | (while read login ; do
users="$users$login "
done
# Put the good value in the conf file
sed -i \
-e "s#%%HOSTNAME%%#$hostname#g" \
-e "s#%%PUBLIC%%#$public#g" \
-e "s#%%HOSTALIASES%%#$hostaliases#g" \
-e "s#%%USERS%%#$users#g" \
"$TMP_FILE")
# Set conf file with good rights
# And put it in prod
cp -f "$TMP_FILE" "$DIR_TARGET/awstats.$hostname.conf"
chmod 644 "$DIR_TARGET/awstats.$hostname.conf"
chown alterncpanel:alterncpanel "$DIR_TARGET/awstats.$hostname.conf"
done
# Remove temporary file
rm "$TMP_FILE"