Linux同步文件
问题描述﹕
用户有一重要文件件﹐会不定时的修改其内容﹐用户希望其数据能得到时事的保护﹐不会因为误删而丢失数据(即保证有备份﹐而且备份不能太旧)﹐不会因为这台服务器宕机而造成数据长时间不能访问(一种故障的切换吧)。
解决方案﹕
用别一台服务器B与这台服务器A做同步。在此选择rsync来实现同步, rsync只传送两个文件的不同部分,而不是每次都整份传送。
具体实现﹕
rsync有两种运行方式﹕SSH方式﹐后台服务方式(配置较麻烦)﹐在此选择SSH加Linux cron来实现同步。
让B服务器获得A服务的安全认证
1.在B上运行ssh-keygen -t rsa﹐为了实现无密码自动登录﹐passphrase设置为空。
2.将B ~/.ssh/id_rsa.pub文件伟到A上﹐scp username@ip:dir dir
3. 将伟过来的id_rsa.pub 的内容保存在B的~/.ssh/authorized_keys文件中(如果没有该文件则建立即可)﹐cat id_rsa.pub >>~/.ssh/authorized_keys
将rsync加入cron中
15 * * * * rsync -avz username@IP_A:dir dir
这样就实现每隔15钟会把A的文件同步到B。