数据同步介绍
在生产环境,有时会需要两台主机的特定目录实现实时同步。比如,将NFS共享目录的数据文件,自动实时同步到备份服务器特定目录中
同步的方式
rsync工作方式:
- 本地文件系统上实现同步。命令行语法格式为上述"Local"段的格式。
- 本地主机使用远程shell和远程主机通信,例如SSH。命令行语法格式为上述"Access via remote shell"段的格式。
- 本地主机通过网络套接字连接远程主机上的rsync daemon。命令行语法格式为上述"Access viarsync daemon"段的格式。
- 前两者的本质是通过本地或远程shell,而第3种方式则是让远程主机上运行rsyncd服务,使其监听在一个端口上,等待客户端的连接
实验环境描述
实验rsync+crontab定时数据同步
实验目的:NFS的/data/www数据定期自动同步到Backup服务器,本次实验用到的是rsync的SSH工作模式
NFS服务器
mkdir -pv /data/www
cd /data/www
touch f1.txt
touch f2.txt
yum install rsync -y
Backup服务器
mkdir -pv /data/backup
yum install rsync -y
sync -av 172.16.10.10:/data/www/ /data/backup &> /del/null #尝试手动同步一次,需要输入账户Password
ssh-keygen #三次回车确认
ssh-copy-id 172.16.10.10 #输入对方Password,后续不再需要输入Password,用于自动同步铺垫
crontab -e #写入计划任务,crontab讲解 https://www.runoob.com/w3cnote/linux-crontab-tasks.html
* * * * * rsync -av 172.16.10.10:/data/www/ /data/backup &> /del/null
crontab -l #查看计划信息
#切回NFS服务器再建内容观察1分钟后自动同步情况
- 修改NFS服务器的文档信息,Backup自动同步以最新为准且只保留唯一一份。
- 删除NFS服务器的文档信息,Backup不会处理删除自己的文件
- * * * * * rsync -av --delete 172.16.10.10:/data/www/ /data/backup&> /del/null #则会完全根据源文件变化同步,更多请查询rsync的帮助
- crontab -R #取消计划任务