Linux运维: Rsync同步数据(ubuntu16.04+windows10)

rsync同步数据

-环境:Linux (ubuntu16.04) + windows10

Linux:

  1. 安装
    sudo apt-get install rsync
    rsync --version 查看是否已安装, 并查看版本
  2. 配置
    主要三个配置文件. 默认不存在(/etc/..)
    ① rsyncd.conf
    ② rsyncd.secrets
    ③ rsyncd.motd (rsync服务器信息)
  • 2.1 创建配置文件
  cd /etc
  mkdir rsyncd
  vi rsyncd.conf
rsyncd.conf内容如下:
    #告诉进程写到 /var/run/rsyncd.pid 文件中
    pid file = /var/run/rsyncd.pid
    lock file =/var/run/rsyncd.lock

    #日志文件
    log file =/var/log/rsyncd.log
    log format = %t %a %m %f %b
    syslog facility = local3

    #服务器响应消息文件
    motd file = /etc/rsyncd/rsyncd.motd

    #指定运行端口,默认是873
    port = 8877

    #指定服务器IP地址 可不写默认本地
    address = 192.168.56.102

    #服务器端传输文件时,要发哪个用户和用户组来执行,默认是nobody
    uid = root
    gid = root

    #如果"use chroot"指定为yes,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为yes
    use chroot = no

    #客户端最多连接数
    max connections = 5
    exclude = lost+found/
    transfer logging = yes
    timeout = 900
    ignore nonreadable = yes
    dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

    #要同步的模块(可写多个,并设置不同用户)
    [test_data]
    #指定文件目录所在路径
    path =  /home/test

    #list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来。默认是yes 。如果你不想列出来,就no ;如果是no是比较安全的,至少别人不知道你的服务器上提供了哪些目录。你自己知道就行了
    list=no

    #指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。
    ignore errors

    #如果为yes,表示只读本地文件就无法同步到服务器
    read only = no

    #允许连接的ip,在演示中使用的云服务器就直接写*,表示无限制 如果要规定ip或者ip段(10.1.4.0/255.255.255.0)需要进行其他配置
    hosts allow=10.1.4.0/255.255.255.0
    #hosts deny=*

    #auth users 是必须在服务器上存在的真实的系统用户,如果你想用多个用户,那就以,号隔开
    auth users = root

    #密码存在rsyncd.passwd文件里
    secrets file = /etc/rsyncd/rsyncd.secrets
  • 2.2 配置rsyncd.secrets文件
    文件内容 username:password
    文件必须设置为只有所有者可读写权限 600
    chmod 600 ./rsyncd.secrets
    如果所属用户不是root 用chown修改
    chown -R root ./rsyncd.secrets
  • 2.3 rsyncd.motd
    内容如下: 连接成功信息提示
  ++++++++++++++++++++++++++++++++++++++
    welcome to rsync. 
  ++++++++++++++++++++++++++++++++++++++
  1. 启动rsync服务器
  • 3.1 开启宽口 并设置防火墙通道tcp允许
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8873 -j ACCEPT
  • 3.2 启动服务器
    rsync --daemon --config=/etc/rsyncd/rsyncd.conf
  • 3.3 检查是否启动
    ps -aux | grep rsync

    检查是否启动端口监听:
    netstat -anp | grep rsync


windows

windows客户端下载 提取码:fg6h

注意: 密码文件目录, 本地目录要用POSIX风格的写法:
/cygdrive/f/cwRsync/rsyncd.pwd f表示F:盘

  1. 安装cwRsync windows客户端

    配置环境变量 cwRsync/bin --> path

  2. 在cwRsync目录下建 密码文件 rsyncd.pwd (保证文件只有所有者可读写600权限)

    内容: 只写密码即可

测试拉取服务器数据到本地(前提 步骤1需要配置 在终端任何目录方可运行):

rsync --port=8873 -avzP root@192.168.56.102::test_data /cygdrive/d/data --password-file=/cygdrive/f/cwRsync/rsyncd.pwd

排错

① ERROR: password file must not be other-accessible
服务器跟客户端两边的密码文件都必须是 600 权限
windows10: 修改文件权限为可读写, 所属用户只有当前登录用户
查看当前用户(推荐使用cmder终端):

λ whoami
desktop-2018whj\lenovo

λ echo %username%
Lenovo
# 使用cwRsync提供的工具
chomd.exe -c 600 /cygdrive/f/cwRsync_15110/rsync.pwd
chown.exe Lenovo /cygdrive/cwRsync_15110/rsync.pwd

其他事项

如果文件权限不可修改(windows10), 使用一下方法解决
通过文件右键查看属性--> 安全 --> 查看用户权限

  • 目录右键==>属性==>安全

    • 点击==>高级==> 禁用继承==>将以继承的权限 转换为此对象的显式权限
  • 目录右键==>属性==>安全
    • 点击==>编辑
    • 删除所有组或用户名下面的信息
    • 点击==>添加==>高级==>立即查找==>选中需要使用的用户(一般为当前用户)==>双击或者选中后确定
    • 将选中的用户勾选 读写 权限
    • 一路确定

参考资料:
windows chomod 600
Rsync数据同步工具
mac Rsync参考

原文地址:https://www.cnblogs.com/panlq/p/10598528.html

时间: 2024-10-11 03:28:40

Linux运维: Rsync同步数据(ubuntu16.04+windows10)的相关文章

Linux运维Rsync排错如何进行?

Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具,也是运维人员必备技能之一.那么在运维部署架构时,运维人员是如何进行Rsync排错的? 1 排错必备思想 1)部署流程步骤熟练 2)rsync原理理解 3)学会看日志,rsync命令行输出,日志文件/var/log/rsyncd.log 2 排错思路 2.1 rsync服务端排错思路 1)查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf 2)查看配置文件里host

Linux运维 第三阶段 (十四)rsync

一.相关概念: rsync(remote synchronize,rsync.samba.org):远程数据同步工具,通过网络快速同步多台主机间的文件,也可使用rsync同步本地硬盘中不同目录中的数据,利用其自身算法(rsync算法)只传送两个文件的不同部分,通过ssh方式来传输文件,因此保密性好:与cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份的优点,通过rsync可以解决对实时性要求不高的数据备份需求,如定期备份服务器数据到指定的服务器.对本地磁盘定期做数据镜像.集

Linux运维之Shell编程------(一)监控MySQL错误码及主从复制同步异常

Linux运维之Shell编程 一.监控MySQL错误码及主从复制同步异常 题目:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 阶段2: #!/bin/bash#CONTACT='[email prote

Linux运维入门到高级全套常用要点

目 录 1. Linux 入门篇..................................................................... 4 1. 1 Linux 操作系统简介........................................................... 4 1. 2 Linux 发展趋势...................................................................

linux运维升级路线

运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火--(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的. 初级篇 linux运维人员常用工具拓扑详见: 1.rsync工具 很多地方经常会用到rsync工具,实施几台服务器的

老男孩教育2016年linux运维在线教学课程大纲

老男孩教育2016年linux全科班大纲  linux运维全科班在线课程地址(直播加录播) http://edu.51cto.com/px/train/41   linux运维就业班在线课程地址(直播加录播) http://edu.51cto.com/px/train/40 课程详情: 本课程包含老男孩教育linux运维就业班及高级架构师班全部内容,更有python自动化基础课程. linux运维就业班课程: 核心课程至少经过8年锤炼,历经近30期讲解次数,体系完整,内容完善重点分明:包括有li

linux运维(九)

如今的状况让人唏嘘,事情都不是如我那么想的,校招失败了,垃圾安畅,不守信用的中金所,没有接到任何消息.已经转投实习生了,后天有机会进入金融公司,只不过是实习生转正这条路,实习生岗位我都拿不下,我可以去死了!想想我真特么可怜啊,1年多了呀,都没有好好玩过,这又要准备忙了,一直在学,没想到还是这么被动.为什么事情都不会像我希望的那样,也不知道有没有做好从学生转向职场人士的准备,垃圾学校这破事也多.跪求一胜... 1.静态资源和动态资源的区别,优缺点如何? 答:静态资源:URL固定,后缀名诸如.htm

老男孩Linux运维高薪指南系列公开课【51CTO学院】3月开始上映

运维干货在线讲课免费分享   http://ke.qq.com/course/115897 <老男孩从大学生到普通运维屌丝一枚再到Linux运维专家,最后到身价千万的发展之路 >   主讲人:   老男孩          上课时间:   3月9日晚8点30--10点  成功必有方法,失败必有原因! 如今老男孩老师愿意从自身曲折发展之路讲起,从学生到运维屌丝,再到运维专家,最后发展成为老男孩教育创始人,成为身价千万的运维行业佼佼者发展之路,以成功发展的事实为大家讲解IT人员成长过程中,该选择的

企业Linux运维几百个重点面试题汇总(持续更新)

目录: 第一部分:合格linux运维十五个必会原理知识(老男孩教育出品) http://user.qzone.qq.com/49000448/blog/1426386594 第二部分:合格linux运维必会MySQL 实战面试题近百个(老男孩教育出品)http://user.qzone.qq.com/49000448/blog/1427333863 第三部分:企业优秀运维人员20道必会iptables面试题 数十个(老男孩教育出品)http://oldboy.blog.51cto.com/256