许多系统管理员喜欢用rsync同步二台服务器之间的数据,但我们更喜欢用FTP来实现,其好处是:

  FTP比rsync更能耗尽带宽,所以它更适合同步数据库(尤其是几百G的数据)

  配置起来相当方便,尤其是用pureftpd

  rsync的优势是可以快速海量同步小文件,比如二级目录或三级目录下的批量图片等

  基本上FTP和rsync同步各有优势,看系统管理员的取舍了。以下是本部分要介绍的FTP同步的shell脚本方式:

  FTPOLDDATE=`date +%Y-%m-%d -d '-60 days'`

  #在FTP定义60天间的日期变量,是为了在FTP端保存60天的数据,逾期删除。

  

  HOST=192.168.4.199

  FTP_USERNAME=db

  FTP_PASSWORD=password

  

  cd ${BACKDIR}/${DATE}

  

  ftp -i -n -v << !

  open ${HOST}

  user ${FTP_USERNAME} ${FTP_PASSWORD}

  bin

  cd ${FTPOLDDATE}

  mdelete *

  cd ..

  rmdir ${FTPOLDDATE}

  mkdir ${DATE}

  cd ${DATE}

  mput *

  bye

  !