How to append the output continously from a script

Hi All,

Am using the below script to produce some statistics. Currently it send the results to a log file and sends the contents of the log to a mail ID.
Next time when it runs it erases the previous log and writes the latest output to the log file.

I want the output to be appended to the script and also the script should send email only with the latest result.

Please help..

Here is the script

. $HOME/.profile
echo "CDR and SDR Queue" > mg_stat.log
gs_admin |grep ^Queue |awk '{print $1,$2,$3,$4}' >> mg_stat.log
gs_admin |grep ^cdr |awk '{print $1,"\t\t"$2,"\t\t"$3,"\t\t"$4}' >> mg_stat.log
gs_admin |grep ^sdr |awk '{print $1,"\t\t"$2,"\t\t"$3,"\t\t"$4}' >> mg_stat.log
echo "name state last op busy%" >> mg_stat.log
cross_stat -server|grep sdr|awk '{print $2,$7,$9,$10}' >> mg_stat.log
cross_stat -server|grep cdr|awk '{print $2,$7,$9,$10}' >> mg_stat.log
echo "" >> mg_stat.log
echo "CPU Usage" >> mg_stat.log
uptime >> mg_stat.log
mailx -s "MG Stat" n.appandairajan@rci.rogers.com< /home/psms/mg_stat.log

. $HOME/.profile
{
  echo "****CDR and SDR Queue****"
  gs_admin | awk '
     /^Queue/ {print $1,$2,$3,$4}
     /^cdr/ || /^sdr/ {print $1,"\t\t"$2,"\t\t"$3,"\t\t"$4}
   '
  echo "name state last op busy%"
  cross_stat -server | awk '/sdr/ || /cdr/ '{print $2,$7,$9,$10}'
  echo ""
  echo "****CPU Usage****"
  uptime
} | tee -a mg_stat.log |
  mailx -s "MG Stat" n.appandairajan@rci.example.com

Its working now. Thanks a lot.