Advertisement
Guest User

mysqlexim

a guest
Apr 24th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.48 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. connectmysql ()
  4. {
  5.     mysql -h 192.168.0.143 -u eximstats eximstats -e "$@"
  6. }
  7.  
  8. tail -F /var/share/eximlog/*.trade.su | sed 's/ \*\* / \#\# /g' | while read string; do
  9. case $(echo $string | awk '{print $8}') in
  10.     "<=" )
  11.         date=$(date -d "$(echo $string | awk '{print $1" "$2" "$3}')" +%s)
  12.         id=$(echo $string | awk '{print $7}')
  13.         theme=$(echo $string | sed -r 's/(^.*T=\"|\" from.*$)//g')
  14.         from=$(echo $string | awk '{print $(NF-2)}')
  15.         for=$(echo $string | awk '{print $NF}')
  16.         host=$(echo $string | awk '{print $4}')
  17.         domain=$(echo $for | awk -F "@" '{print $2}')
  18.         connectmysql "INSERT INTO eximstats (id, host, domain, tsent, sender, recipient, theme, status) VALUES ('$id', '$host', '$domain', '$date', '$from', '$for', '$theme','sent')"
  19.         echo "$date $id $theme $from $for"
  20.     ;;
  21.  
  22.     "=>" )
  23.         date=$(date -d "$(echo $string | awk '{print $1" "$2" "$3}')" +%s)
  24.         id=$(echo $string | awk '{print $7}')
  25.         connectmysql "UPDATE eximstats SET status='recieved', tansw='$date' WHERE id='$id'"
  26.         echo "$date $id"
  27.         ;;
  28.  
  29.     "##" )
  30.         date=$(date -d "$(echo $string | awk '{print $1" "$2" "$3}')" +%s)
  31.         id=$(echo $string | awk '{print $7}')
  32.         spam=$(echo $string | awk -F "##" '{print $2}' | sed 's/^.*T=//g')
  33.         connectmysql "UPDATE eximstats SET tansw='$date', status='error', spam='$spam' WHERE id='$id'"
  34.         echo "$date $id $spam"
  35.     ;;
  36.     esac
  37. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement