作者:coralzd      网址  www.freebsdsystem.org/yum_mirrors//  转载注明出处

在salogs搜索了yum rsync的脚本,拿来一试感觉不错。就是共享出来,以下我根据实际情况修改并增加了其他同步的文件。存储使用了mfs。

 
    
    
    
    
  1. #!/bin/bash 
  2.  
  3. Date=`date +%Y%m%d` 
  4. LogFile="/var/log/rsync_yum/$Date.log" 
  5. CentOSTrunkVer="5" 
  6. CentOSCurrentVer="5.5" 
  7. CentOSCurrentv="4.8" 
  8. ReceiveMail="[email protected]" 
  9. Cpanpath="/data0/yum/mirrors.sohu.com/CPAN/" 
  10. RsyncBin="/usr/local/bin/rsync" 
  11. RsyncPerm="-avrt --delete --exclude=debug/  --exclude=isos/" 
  12. CentOS_Trunk_Ver_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSTrunkVer" 
  13. CentOS_Current_Ver_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSCurrentVer" 
  14. CentOS_Current_v_Path="/data0/yum/mirrors.sohu.com/centos/$CentOSCurrentv" 
  15. YumSiteList="rsync://mirrors.sohu.com/centos" 
  16. Cpansitelist="cpan.wenzk.com::CPAN" 
  17. #============ epel ============== 
  18. epelSite="rsync://mirrors.sohu.com/fedora-epel/" 
  19. epelLocalPath="/data0/yum/mirrors.sohu.com/epel" 
  20.  
  21. # rpmforge 
  22. rpmforgeSite="rsync://mirrors.sohu.com/dag/redhat/" 
  23. rpmforgeLocalPath="/data0/yum/mirrors.dzwww.com/rpmforce" 
  24. # CPAN mirrors 
  25. cpansite="rsync://mirrors.sohu.com/nginx/" 
  26. cpanlocalpath="/data0/yum/mirrors.sohu.com/CPAN/" 
  27.  
  28. echo "---- $Date `date +%T` Begin ----" >>$LogFile 
  29. #CPAN 
  30. $RsyncBin $RsyncPerm $Cpansitelist $cpanlocalpath >> $LogFile 
  31. # centos 5 
  32. $RsyncBin $RsyncPerm $YumSiteList/$CentOSTrunkVer/ \ 
  33. $CentOS_Trunk_Ver_Path >> $LogFile 
  34.  
  35. # centos 5.5 
  36. $RsyncBin $RsyncPerm $YumSiteList/$CentOSCurrentVer/ \ 
  37. $CentOS_Current_Ver_Path  >> $LogFile 
  38. # centos 4.8 
  39. $RsyncBin $RsyncPerm $YumSiteList/$CentOSCurrentv/ \ 
  40. $CentOS_Current_v_Path  >> $LogFile 
  41. # epel 
  42. $RsyncBin $RsyncPerm  --exclude=4--exclude=4AS--exclude=4AS/ \ 
  43. --exclude=4WS/  --exclude=beta--exclude=testing/ $epelSite $epelLocalPath >> $LogFile 
  44.  
  45. # rpmforge 
  46. $RsyncBin $RsyncPerm $rpmforgeSite $rpmforgeLocalPath >> $LogFile 
  47.  
  48. # CPAN 
  49. #$RsyncBin $RsyncPerm $cpansite $cpanlocalpath >> $LogFile 
  50.  
  51. echo  "---- $Date `date +%T` End ----" >> $LogFile 

将其置于cron中,一天同步四次。

 
   
   
   
   
  1. * */6 * * * /usr/local/bin/yummirror 2>&1 >/dev/null &