rsync与FTP(多为vsftpd)在大家的平时的运维工作中应该都多有接触,这里我就不再一一介绍了。很多朋友都觉得这两者可以跟同步和备份等同起来,其实工作中真正使用的时候这两个是有区别的,我一般将rsync简概之为冗余,而FTP称之为备份,两者在不同的工作场景中的应用也是不同的,如下:
一、rsync可以应用如下的工作场景:
①NFS文件的一主一备环境,有些项目和网站限定了不能做NFS的DRBD双机方案,所以可以考虑用rsync作一个冗余NFS机器出来(--delete参数使用时应该谨慎);
②rsync+inotify同步系统,有些网站由于网络环境的制约,比如机器是随着网站规模的不断扩大才逐渐增多的进入IDC托管机房的,机器比较分散,而暂时又不能停掉业务整合服务器之前,这之前的方案可以考虑采用rsync+inotify;
③线上的SVN与线上机器的代码之前的同步,像我们的SVN服务器的代码量还是比较大的,而且代码更新比较频繁,所以我们只会能过rsync结合自己开发的程序同步少量稳定的代码到线上环境。
二、FTP服务器我一般用之于备份仓库,像线上的机器,重要的数据我一般会做双备份,即本地做一次备份,然后再通过SHELL脚本同步到远程的vsftpd服务器,这样的好处是:无论如何,两台机器同时出现物理磁盘故障的机率还是非常之低的。
时代在不断的发展,新的开源技术不断的被发明和创新,但像rsync和FTP这些老牌的开源软件或服务其实也有应用场景,在工作当中我们应该结合它们的优势,取长避短,用最简单的技术来实现复杂的工作需求,将它们的优势发挥得淋漓尽致,这也算是一种Geek(极客)精神吧。