svn同步脚本

  1. #!/bin/bash 
  2. #+----------------------------------+ 
  3. #messages:svn sync repos 
  4. # 20110723 v0.2 
  5. # cnitss@163.com 
  6. #+----------------------------------+ 
  7. DATE=`date +%Y%m%d` 
  8. repos=$1 
  9. touch ~/svnsync_$repos\_$DATE\_log 
  10. logfile=~/svnsync_$repos\_$DATE\_log 
  11.  
  12. do_svnsync() 
  13. echo "#####BEGIN SVN SYNC at `date` ######" 
  14. kill -9 `ps -ef | grep "svnsync sync file:///repos/$repos" | grep -v grep | awk '{print $2}'` 2> /dev/null 
  15. #if [ $? -eq 0 ] 
  16. #then 
  17. #        echo "The svnsync has been killed!" 
  18. #else 
  19. #        echo "The svnsync was died!" 
  20. #fi 
  21. #svn propdel svn:sync-lock --revprop -r 0 file:///repos/bj_repos_copy >> /home/csvn/bj_repos_copy.log 2>&1 & 
  22. svnsync sync file:///repos/$repos 2> /dev/null 
  23. if [ $? -ne 0 ] 
  24. then 
  25.         svn propdel svn:sync-lock --revprop -r 0 file:///repos/$repos 
  26.         svnsync sync file:///repos/$repos  && echo "svnsync $repos successful !!!" || echo "svnsync $repos aborted !!!" 
  27. else 
  28.         echo "svnsync $repos successful !!!" 
  29. fi 
  30. do_mail() 
  31.    mail cnitss@163.com -s svn_$repos.log < $logfile 
  32.  
  33. do_svnsync >> $logfile && do_mail