Jan Wagner ревизий этого фрагмента 2 years ago. К ревизии
1 file changed, 0 insertions, 0 deletions
Пустой файл
Jan Wagner ревизий этого фрагмента 2 years ago. К ревизии
1 file changed, 12 insertions, 13 deletions
run_goaccess
| @@ -38,17 +38,16 @@ for DIR in $(find /var/www/ -maxdepth 2 -name 'public_html' -type d); do | |||
| 38 | 38 | ||
| 39 | 39 | if [ ${#LOGFILES[@]} -eq 0 ]; then | |
| 40 | 40 | echo "No log files in '$LOGDIR'" | |
| 41 | - | exit 0 | |
| 41 | + | else | |
| 42 | + | goaccess \ | |
| 43 | + | --agent-list \ | |
| 44 | + | --anonymize-ip \ | |
| 45 | + | --persist \ | |
| 46 | + | --restore \ | |
| 47 | + | --config-file /etc/goaccess/goaccess.conf \ | |
| 48 | + | --db-path "$VHOST_BASE/$VHOST/goaccess-db" \ | |
| 49 | + | --log-format "COMBINED" \ | |
| 50 | + | --output "$VHOST_BASE/$VHOST/$STATS_OUT_DIR/index.html" \ | |
| 51 | + | "${LOGFILES[@]}" | |
| 42 | 52 | fi | |
| 43 | - | ||
| 44 | - | goaccess \ | |
| 45 | - | --agent-list \ | |
| 46 | - | --anonymize-ip \ | |
| 47 | - | --persist \ | |
| 48 | - | --restore \ | |
| 49 | - | --config-file /etc/goaccess/goaccess.conf \ | |
| 50 | - | --db-path "$VHOST_BASE/$VHOST/goaccess-db" \ | |
| 51 | - | --log-format "COMBINED" \ | |
| 52 | - | --output "$VHOST_BASE/$VHOST/$STATS_OUT_DIR/index.html" \ | |
| 53 | - | "${LOGFILES[@]}" | |
| 54 | - | done | |
| 53 | + | done | |
waja ревизий этого фрагмента 2 years ago. К ревизии
1 file changed, 1 insertion, 1 deletion
run_goaccess
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | LOG_DIR="/var/log/apache2/vhosts/access_logs/" | |
| 4 | 4 | VHOST_BASE="/var/www/" | |
| 5 | 5 | STATS_OUT_DIR="/stats/" | |
| 6 | - | BOOTSTRAP=1 | |
| 6 | + | BOOTSTRAP=0 | |
| 7 | 7 | ||
| 8 | 8 | for DIR in $(find /var/www/ -maxdepth 2 -name 'public_html' -type d); do | |
| 9 | 9 | VHOST=$(basename $(echo $DIR | sed "s/\/public_html.*//")) | |
waja ревизий этого фрагмента 2 years ago. К ревизии
1 file changed, 13 insertions, 1 deletion
run_goaccess
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | LOG_DIR="/var/log/apache2/vhosts/access_logs/" | |
| 4 | 4 | VHOST_BASE="/var/www/" | |
| 5 | 5 | STATS_OUT_DIR="/stats/" | |
| 6 | - | BOOTSTRAP=0 | |
| 6 | + | BOOTSTRAP=1 | |
| 7 | 7 | ||
| 8 | 8 | for DIR in $(find /var/www/ -maxdepth 2 -name 'public_html' -type d); do | |
| 9 | 9 | VHOST=$(basename $(echo $DIR | sed "s/\/public_html.*//")) | |
| @@ -16,6 +16,18 @@ for DIR in $(find /var/www/ -maxdepth 2 -name 'public_html' -type d); do | |||
| 16 | 16 | USER="$(stat -c "%U" "$VHOST_BASE/$VHOST/public_html" )" | |
| 17 | 17 | printf "AuthName \"restricted stuff\"\nAuthType Basic\nAuthUserFile /etc/apache2/users\n\nrequire user focus $USER" > $VHOST_BASE/$VHOST/stats/.htaccess | |
| 18 | 18 | fi | |
| 19 | + | for FILE in $(find $LOG_DIR -name $VHOST-access.log.*.gz); do | |
| 20 | + | zcat $FILE | goaccess \ | |
| 21 | + | --agent-list \ | |
| 22 | + | --anonymize-ip \ | |
| 23 | + | --persist \ | |
| 24 | + | --restore \ | |
| 25 | + | --config-file /etc/goaccess/goaccess.conf \ | |
| 26 | + | --db-path "$VHOST_BASE/$VHOST/goaccess-db" \ | |
| 27 | + | --log-format COMBINED \ | |
| 28 | + | --output "$VHOST_BASE/$VHOST/$STATS_OUT_DIR/index.html" \ | |
| 29 | + | - | |
| 30 | + | done | |
| 19 | 31 | fi | |
| 20 | 32 | ||
| 21 | 33 | LOGFILES=() | |
waja ревизий этого фрагмента 2 years ago. К ревизии
1 file changed, 42 insertions
run_goaccess(файл создан)
| @@ -0,0 +1,42 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | LOG_DIR="/var/log/apache2/vhosts/access_logs/" | |
| 4 | + | VHOST_BASE="/var/www/" | |
| 5 | + | STATS_OUT_DIR="/stats/" | |
| 6 | + | BOOTSTRAP=0 | |
| 7 | + | ||
| 8 | + | for DIR in $(find /var/www/ -maxdepth 2 -name 'public_html' -type d); do | |
| 9 | + | VHOST=$(basename $(echo $DIR | sed "s/\/public_html.*//")) | |
| 10 | + | ||
| 11 | + | if [ "$BOOTSTRAP" == "1" ]; then | |
| 12 | + | [ ! -d $VHOST_BASE/$VHOST/goaccess-db ] && mkdir -p $VHOST_BASE/$VHOST/goaccess-db | |
| 13 | + | [ ! -d $VHOST_BASE/$VHOST/stats ] && mkdir -p $VHOST_BASE/$VHOST/stats | |
| 14 | + | [ $(grep -c "Alias /stats" /etc/apache2/sites-available/"$VHOST"_settings) -le 0 ] && sed -i "/Alias \/phpmyadmin.*/a \\\tAlias /stats \"\/var\/www\/$VHOST\/stats\/\"" /etc/apache2/sites-available/"$VHOST"_settings | |
| 15 | + | if [ ! -f /var/www/"$VHOST"/stats/.htaccess ]; then | |
| 16 | + | USER="$(stat -c "%U" "$VHOST_BASE/$VHOST/public_html" )" | |
| 17 | + | printf "AuthName \"restricted stuff\"\nAuthType Basic\nAuthUserFile /etc/apache2/users\n\nrequire user focus $USER" > $VHOST_BASE/$VHOST/stats/.htaccess | |
| 18 | + | fi | |
| 19 | + | fi | |
| 20 | + | ||
| 21 | + | LOGFILES=() | |
| 22 | + | for ext in log log.1; do | |
| 23 | + | logfile="$LOG_DIR/$VHOST-access.$ext" | |
| 24 | + | [ -e "$logfile" ] && LOGFILES+=("$logfile") | |
| 25 | + | done | |
| 26 | + | ||
| 27 | + | if [ ${#LOGFILES[@]} -eq 0 ]; then | |
| 28 | + | echo "No log files in '$LOGDIR'" | |
| 29 | + | exit 0 | |
| 30 | + | fi | |
| 31 | + | ||
| 32 | + | goaccess \ | |
| 33 | + | --agent-list \ | |
| 34 | + | --anonymize-ip \ | |
| 35 | + | --persist \ | |
| 36 | + | --restore \ | |
| 37 | + | --config-file /etc/goaccess/goaccess.conf \ | |
| 38 | + | --db-path "$VHOST_BASE/$VHOST/goaccess-db" \ | |
| 39 | + | --log-format "COMBINED" \ | |
| 40 | + | --output "$VHOST_BASE/$VHOST/$STATS_OUT_DIR/index.html" \ | |
| 41 | + | "${LOGFILES[@]}" | |
| 42 | + | done | |