侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

rsync单向同步

2023-11-01 星期三 / 0 评论 / 0 点赞 / 55 阅读 / 3259 字

服务器端配置: 1.配置rsync配置文件 #vim /etc/rsyncd.conf pid file = /var/run/rsyncd.pidport = 873address = 0.0.0.

服务器端配置:

1.配置rsync配置文件

#vim /etc/rsyncd.conf

pid file = /var/run/rsyncd.pidport = 873address = 0.0.0.0uid =rootgid = rootuse chroot = yesread only = yeshosts allow = 10.11.4.66max connections = 4timeout = 300[maven]     path = /data/maven_workDir     list = no     ignore errors     secrets file = /etc/rsyncd.secrets

2.配置客户端同步使用的账号密码

 #vim /etc/rsyncd.secrets

maven:centrald

3.设置账号密码文件权限为600

#chmod 600 /etc/rsyncd.secrets

4.启动rsync服务

# /usr/bin/rsync --daemon --config=/etc/rsyncd.conf

 

客户端配置

1.同步脚本

vim maven_backup.sh

#!/bin/bashhost=10.17.32.167backing_flag_file="/tmp/maven_backup_flag"startTime=`date`echo "====================开始同步,当前时间为${startTime}===================="# 同步过程中会创建一个标记文件,标记正在同步,同步结束后删除文件,如果该文件存在,说明当前正在rsync中if [ -f $backing_flag_file ];then  echo "上次同步未结束,不开始本次同步"  exit 1else  # 创建标记文件  touch $backing_flag_file  if [ $? -eq 0 ];then    rsync -avW mapp@${host}::maven/ /data/maven_workDir  --delete --password-file=/etc/rsync.pass  else    echo "创建标记文件失败"  fi  # 同步结束,删除标记文件  rm -f $backing_flag_filefiendTime=`date`echo "====================结束同步,当前时间为${endTime}===================="

2.配置同步客户端密码(这样可以使用crontable进行自动同步)

# vim /etc/rsync.pass

centrald

3.contable中设置定时同步

#crontable -e

*/10 * * * * /bin/bash /root/maven_backup.sh &>> /tmp/maven_backup.log

 

服务端推送到客户端同步方式:

    会出现这种情况,A 机器需要同步数据到 B机器,但是网络有做隔离,B不能去A 机器拉取数据,所以只能采取A推送数据的方式。就相当于rsync服务器端推送数据到客户端。那么同步脚本如下:

#!/bin/bashhost=10.50.16.21backing_flag_file="/tmp/maven_backup_flag2"startTime=`date`echo "====================开始同步,当前时间为${startTime}===================="# 同步过程中会创建一个标记文件,标记正在同步,同步结束后删除文件,如果该文件存在,说明当前正在rsync中if [ -f $backing_flag_file ];then  echo "上次同步未结束,不开始本次同步"  exit 1else  # 创建标记文件  touch $backing_flag_file  if [ $? -eq 0 ];then   rsync -avW  /data/maven_workDir root@${host}::maven/  --delete --password-file=/etc/rsync.pass  else    echo "创建标记文件失败"  fi  # 同步结束,删除标记文件  rm -f $backing_flag_filefiendTime=`date`echo "====================结束同步,当前时间为${endTime}===================="

 

广告 广告

评论区