From 1cdc96934610aebee617a1a403f6e3486b57688d Mon Sep 17 00:00:00 2001 From: creme Date: Sat, 29 Feb 2020 20:39:41 +0000 Subject: [PATCH] sync small changes from server --- bin/envs.net/envs_user_info.sh | 76 ++++++++++++++++++---------------- etc/cron.d/envs_stats | 2 +- etc/init.d/S41firewall | 1 + 3 files changed, 42 insertions(+), 37 deletions(-) diff --git a/bin/envs.net/envs_user_info.sh b/bin/envs.net/envs_user_info.sh index fa6298d..f31dfb7 100755 --- a/bin/envs.net/envs_user_info.sh +++ b/bin/envs.net/envs_user_info.sh @@ -21,42 +21,44 @@ clear_lastline() { sed -i '$ s/,$//' "$TMP_JSON" ; } progress_userarray() { - for field in "${!line_to_set[@]}"; do - field_name="${field//,*/}" - field_count="${field//*,/}" + for field in "${!line_to_set[@]}"; do + field_name="${field//,*/}" + field_count="${field//*,/}" - if [[ ":${field_is_array[*]}:" =~ $field_name ]] && ! [[ ":${field_finished[*]}:" =~ $field_name ]]; then - # begin of user def. array - if [ -z "$field_in_progress" ] && [ "$field_count" -eq 0 ]; then - fin_count='0' - field_in_progress="$field_name" - cat << EOM >> "$TMP_JSON" + if [[ ":${field_is_array[*]}:" =~ $field_name ]] && ! [[ ":${field_finished[*]}:" =~ $field_name ]]; then + + if [ -z "$field_in_progress" ] && [ "$field_count" -eq 0 ]; then + # begin of user def. array + fin_count='0' + field_in_progress="$field_name" + cat << EOM >> "$TMP_JSON" "$field_name": [ "${line_to_set[$field]}", EOM - elif [ "$field_in_progress" = "$field_name" ] && [ "$field_count" = "$(( "$fin_count" + 1 ))" ]; then - # continue user def. array - fin_count="$(( "$fin_count" + 1 ))" - cat << EOM >> "$TMP_JSON" + elif [ "$field_in_progress" = "$field_name" ] && [ "$field_count" = "$(( "$fin_count" + 1 ))" ]; then + # continue user def. array + fin_count="$(( "$fin_count" + 1 ))" + cat << EOM >> "$TMP_JSON" "${line_to_set[$field]}", EOM - if [ "$field_count" = "${hc_field_entry[$field_name]}" ]; then - # end of user def. array - # remove trailing ',' on last user entry - clear_lastline - cat << EOM >> "$TMP_JSON" + if [ "$field_count" = "${hc_field_entry[$field_name]}" ]; then + # end of user def. array + # remove trailing ',' on last user entry + clear_lastline + cat << EOM >> "$TMP_JSON" ], EOM - unset field_in_progress - field_finished+=( "$field_name" ) - else - progress_userarray - fi - elif ! [ "$field_in_progress" = "$field_name" ] && ! [[ ":${field_queue[*]}:" =~ $field_name ]]; then - field_queue+=( "$field_name" ) - fi - fi - done + unset field_in_progress + field_finished+=( "$field_name" ) + else + progress_userarray + fi + + elif ! [ "$field_in_progress" = "$field_name" ] && ! [[ ":${field_queue[*]}:" =~ $field_name ]]; then + field_queue+=( "$field_name" ) + fi + fi + done } @@ -159,9 +161,9 @@ EOM if [ -f "$INFO_FILE" ]; then count_entry='0' - unset field_exists ; declare -a field_exists=() # contains field names to limit entrys - unset field_is_array ; declare -a field_is_array=() # contains array fields to printf correct json entrys - unset line_to_set ; declare -A line_to_set # contains user info lines + unset field_exists ; declare -a field_exists=() # contains field names - distinguish single from array entries + unset field_is_array ; declare -a field_is_array=() # contains all array field names to printf correct json format + unset line_to_set ; declare -A line_to_set # contains all user info lines unset hc_field_entry ; declare -A hc_field_entry # contains highest_count_field_entry # check 'INFO_FILE' and add entrys to 'line_to_set' array @@ -173,19 +175,20 @@ EOM if ! [[ ":${field_exists[*]}:" =~ $user_field ]]; then # entry will be a single line - count_field_entry='0' - count_entry="$(( "$count_entry" + 1 ))" ; [ "$count_entry" -le '10' ] || continue - field_exists+=( "$user_field" ) + count_field_entry='0' + count_entry="$(( "$count_entry" + 1 ))" ; [ "$count_entry" -le 10 ] || continue + line_to_set["$user_field","$count_field_entry"]+="$user_value" + else # entry will be a array (max. 32 entrys) if ! [[ ":${field_is_array[*]}:" =~ $user_field ]]; then field_is_array+=( "$user_field" ) fi - count_field_entry="$(( "$count_field_entry" +1 ))" ; [ "$count_field_entry" -lt '32' ] || continue - + count_field_entry="$(( "$count_field_entry" +1 ))" ; [ "$count_field_entry" -lt 32 ] || continue hc_field_entry[$user_field]="$count_field_entry" + line_to_set["$user_field","$count_field_entry"]+="$user_value" fi fi @@ -284,3 +287,4 @@ chown root:www-data "$WWW_PATH"/user_updates.php # exit 0 + diff --git a/etc/cron.d/envs_stats b/etc/cron.d/envs_stats index 3dde198..c05ebd3 100644 --- a/etc/cron.d/envs_stats +++ b/etc/cron.d/envs_stats @@ -4,4 +4,4 @@ SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -0 * * * * root /usr/local/bin/envs.net/envs_stats.sh >/dev/null 2>&1 +0 */6 * * * root /usr/local/bin/envs.net/envs_stats.sh >/dev/null 2>&1 diff --git a/etc/init.d/S41firewall b/etc/init.d/S41firewall index 0ca5ef5..d0241b3 100755 --- a/etc/init.d/S41firewall +++ b/etc/init.d/S41firewall @@ -253,6 +253,7 @@ if [ "$1" = "start" ]; then # pleroma / social # => apache2 proxy (http/https) $IPT -w -t nat -A PREROUTING -d 5.199.136.29 -p tcp --dport 70 -j DNAT --to-destination 192.168.1.18:7070 + $IPT -w -t nat -A PREROUTING -d 5.199.136.29 -p tcp --dport 7070 -j DNAT --to-destination 192.168.1.18:7070 $IPT -w -t nat -A PREROUTING -d 89.163.145.170 -p tcp --dport 7070 -j DNAT --to-destination 192.168.1.18:7070 $IPT -w -t nat -A POSTROUTING -d 192.168.1.3 -s 192.168.1.18 -j SNAT --to 5.199.136.29 $IPT -w -t nat -A POSTROUTING ! -d 192.168.1.0/24 -s 192.168.1.18 -j SNAT --to 5.199.136.29