之前对 rsync 了解不深,一直使用 shell 方式同步文件。为了避免连接时输入密码,便在多个主机间分发公钥。今天意识到这种做法有严重的安全问题:如果某台主机被黑,黑客能轻易漫游所有主机!
对网站维护者来说,可用性和数据安全非常重要。自发生了一些安全事件后,本站准备了几台备用服务器,以便在出现网络攻击、服务器故障时切换使用。之前多台服务器间数据库一直使用全量同步,今天忽然想到可以用Mysql主主同步/Redis主从复制备份网站,配置一次即可简单方便的切换服务器。
rsync 可以通过 LAN/WAN 快速在多台主机之间同步文件,其使用智能算法有效计算源文件和目标文件的不同,实际传输时只传输差异部分,因此同步速度相当快。尽管 rsync 比 ftp、scp 等工具更强大,传输效果更高,实际使用中仍有一些注意事项,本文分别做介绍。
今天用 rsync 命令同步文件到一台新vps,没想到出现了如下错误提示:protocol version mismatch — is your shell clean?通过查看rsync的文档,发现是vps的.bashrc文件中有输出内容导致,注释掉就正常了。