rsync是unix系统下的数据镜像 备份工具,一般linux系统都 自带:

# rpm -qa|grep rsync
rsync-3.0.9-17.el7.x86_64

服务器端:10.100.0.123 同步目录:/data/samba/share

客户端:10.100.0.198 同步到目录:/DataBack/SambaBack

1:服务端配置:

新建配置文件:/etc/rsyncd.conf #并配置以下内容:

# cat /etc/rsyncd.conf
uid=nobody //运行rsync守护进程的用户
git=nobody //运行rsync守护进程的组
use chroot = no //不使用chroot
max connections = 10 //最大连接数,0为不限制
pid file = /var/run/rsyncde.pid //pid文件存放位置
lock file = /var/run/rsync.lock //锁文件存放位置
log file = /var/log/rsyncd.log //日志记录文件 的存放位置
Timeout = 300 //通过该选项可以覆盖客户指定的ip超时时间,通过该选项可以确保rsync服务器
不会永远等待一个崩溃的客户端,超时单位为秒钟,0表示没有超时定义,这也是默认值,
对于匿名rsync服务器来说,一个理想的数字是600
Log format = %t %a %m %f %b
[backup] //这里是认证的模块名,在client端需要指定
#path=/home/source/
path=/data/tmp/samba/share/ //需要做镜像目录
ignore errors //可以忽略一些无关的IO错误
read only = yes //该选项设定是否允许客户上传文件
list = no //不允许列文件
auth users = rsync //认证的用户名
secrets file = /etc/rsyncd.secrets //秘密文件
hosts allow = 10.100.0.198 //允许主机或网段
hosts deny = 0.0.0.0/0 //禁止主机

创建密码文件,并增加用户和密码:

# cat /etc/rsyncd.secrets
rsync:rsync

更改密码文件权限:

# chmod 0600 /etc/rsyncd.secrets
# ll -h /etc/rsyncd.secrets
-rw------- 1 root root 12 May 11 13:27 /etc/rsyncd.secrets

# /usr/bin/rsync --daemon

启动服务默认端口:873

客户端:

客户端就不用启动rsync服务了

创建密码文件,文件名自定义,但内容需要填相标服务授权密码

# cat /etc/rsyncd.secrets
rsync
#列改文件权限
#chmod 0600 /etc/rsyncd.secrets

在客户端去同步服务端的数据,所以要在服务端运行:

rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@10.100.0.123::backup /DataBack/SambaBack

参数详解:

v:传输时的进度等信息,z:表示压缩,r:是递归,t:保持文件原有时间,o:保持文件原有属主,P:传输进度,g:保持文件原有用户组
--progress :指显示
--delete:指如果服务器端删除了这一文件,那么客户端也想应把文件删除,保持真正的一致
--password-file=/etc/sysncd.secrets:认证密码
rsync:认证用户
backup:认证模块

写脚本并结合计划任务来定时同步数据:

# cat /data1/sh/rsync_samba.sh
#!/bin/bash
rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@10.100.0.123::backup /DataBack/SambaBack
查看定时任务:
* * * cd /data1/sh && ./rsync_samba.sh

rsync 实现文件同步 (重要数据通过rsyncr把数据同步到不同的两台服务器上,这样可以防止服务器的硬盘故障导致数据丢失) 客户端同步时如果要排某个目录的更多相关文章

  1. 对拷 使用scp命令在两台linux上对拷文件或者文件夹

    以前一直是在服务器上tar打包压缩,下载到本地电脑上,再上传到另外一台服务器上,再解压. 其实使用scp命令就可以直接对拷文件或者文件夹了. scp就是secure copy,是用来进行远程文件拷贝的 ...

  2. 使用SyncToy 同步两台机器上的文件夹

    @echo off echo 准备启动同步... net use \\WIN-AJH8QENQQGK "123456" /user:Administrator Z:\SyncToy ...

  3. C# 把本地文件上传到服务器上,和从服务器上下载文件

    方法一.通过Ajax方式上传文件(input file),使用FormData进行Ajax请求 <div  > <input type="file" name=& ...

  4. linux 操作之一 如何在linux将本地数据*.sql文件导入到linux 云服务器上的mysql数据库

    liunx 版本ubuntu 16.4 mysql 版本  5.6 1)准备*.sql文件 (* 是准备导入的sql文件的名字) 2)liunx 远程客户端  SecureCRT 7.0 alt+p ...

  5. AD域服务器|两台DC无法进行复制同步

    注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 说明:前段时间公司两台域控出现了一些问题导致数据无法相互进行同步,DC之间也无法进行共享访问,网络用户无法通过计算机名映射的共享访问 ...

  6. 【Linux学习笔记】用nc实现两台主机间的文件传输(不需要输密码)

    通常,可以用scp完成两台主机间的文件传输任务,但在主机间未建立信任关系的情况下,scp每次都需要输入密码,用起来感觉不是很方便,之前这篇笔记介绍过不用输入密码执行脚本或传输文件的方法,但对于一些临时 ...

  7. winform 查看远程服务器上的文件

    解决方案: 1. 在目标服务器上发布webservice,实现文件下载的方法. using System; using System.Collections.Generic; using System ...

  8. ftp上传文件,本地安装了,服务器上也需要在也安装一个ftp

    服务器需要配置FTP服务: 你说的在你自己电脑上安装的只是一个FTP软件,用于连接远程服务器进行上传和下载文件的. 追问 在本地已经安装了,链接的话要在服务器上也安装一个吗? 追答 额,你有FTP服务 ...

  9. sublime中编辑服务器上的文件

    背景:公司项目需要进行构建编译,在服务器上速度比较快,所以需要将sublime和linux中的文件相关联. 参考资料:http://zyan.cc/samba_linux_windows/ 主要有两步 ...

随机推荐

  1. Axure 实现批量的勾选和反选

    百度网盘:http://pan.baidu.com/s/1gf4RR2b 1.如何实现批量的勾选和反选的操作? 2.步骤 1)创建3个复选框.2个按钮(全选/反选) 2)设置全选按钮点击事件——选中“ ...

  2. VS2010 lib和dll导出路径设置

    创建库文件工程时往往需要设置.lib文件和.dll文件的路径. 假设一个solution对应了多个工程,然而他们共用一些库,就可以在solution文件夹下分别添加两个文件夹lib和bin(其实放在一 ...

  3. java 获取当前日期和特殊日期格式转换

     1.获取当前日期: package com.infomorrow.dao; import java.sql.Timestamp; import java.util.Calendar; import ...

  4. maven groupID 和 ArtifactID的区别与作用

    GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构. ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称.一般Gro ...

  5. jquery添加未来元素时,其绑定事件不起作用解决办法

    delegate说起对未来元素是其作用的,于是写下代码: <!DOCTYPE HTML> <html> <head> <meta charset=" ...

  6. [转] mysql --prompt介绍

    mysql --prompt修改命令行链接mysql时的提示符,shell脚本示例如下 #!/bin/bash case $1 in crm) cmd='mysql -h192.168.1.2 -ur ...

  7. 进阶之路(中级篇) - 015 串口控RGB三色灯

    本文由博主原创,如有不对之处请指明,转载请说明出处. /********************************* 代码功能:串口控RGB三色灯 使用函数: Serial.flush(); / ...

  8. openstack XXX-api分析

    一.概述 RESTful API: 表征状态迁移,也就是说client端使用http的基本操作(主要四种:get, post, put, delete 对应增删改查)使服务端的资源状态转化: WSGI ...

  9. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

  10. mysql_install_db 运行结果

    # /usr/local/mysql/scripts/mysql_install_db \ > --defaults-file=/etc/my.cnf \ > --basedir=/usr ...