一台源服务器,一台目标服务器,想实现 目标服务器同步源服务器某一目标的所有文件。
可用rsync 技术实现。
源目标服务器文件新增,修改,目标服务器都会对应改变。源服务器删除目标服务器不会删除。
准备工作: 本地准备ssh密钥对,可用git-bash生成。 包含私钥和公钥。
命令:ssh-keygen -t rsa
操作:
- 私钥放源服务器、公钥放目标服务器(/home/user/.ssh/ )。
- 脚本如下。
#!/bin/bash
# rsync 数据同步
# 前提:目标服务器 authorized_keys 中 需要提前配置好公钥
#刷新环境变量
. ~/.profile
#将temp目录同步到 /root 下
originPath=/root/temp
targetPath=/root/
logPath=/root/script/rsync.log
IP=127.0.0.1
username=root
dateTime=`date "+%F %T"`
echo "#### $dateTime" >> $logPath
rsync -az $originPath $username@$IP:$targetPath >> $logPath
echo "" >> $logPath