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. Nginx 日志改成 JSON 格式

    Nginx 日志默认为普通文本的格式,例如,下面是 Nginx 的一行访问日志: 10.88.122.105 - - [02/Dec/2017:09:15:04 +0800] "GET /j ...

  2. Xcode使用小技巧-filter查找功能和查看最近修改的文件

    今天偶然发现了关于Xcode的一个小技巧: 1.查看最近修改的文件 2.使用filter查找制定文件 没错,就是下面这个东西,很容易忽略的一个小工具,在Xcode左下角位置. 通过这个,我们能够在整个 ...

  3. 【DeepLearning】Exercise:Vectorization

    Exercise:Vectorization 习题的链接:Exercise:Vectorization 注意点: MNIST图片的像素点已经经过归一化. 如果再使用Exercise:Sparse Au ...

  4. fwrite()的返回值随着格式的不同返回值也不同;

    常用地函数fwrite fwrite()的返回值随着格式的不同返回值也不同: 也是最近涉及到代码才注意到的,汗!!! 转载了一篇文章来说明这个问题:文章地址:http://blog.csdn.net/ ...

  5. 怎么卸载用 make install 编译(源码)安装的软件?

    在linux 中用 ./configure && make && make install 后,如果想删除这个软件我应该怎么删除呢?好像有一个叫"make u ...

  6. Linux如何实现开机启动程序详解(转)

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

  7. POJ 3678 Katu Puzzle (经典2-Sat)

    Katu Puzzle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6553   Accepted: 2401 Descr ...

  8. C# 程序打包Release版本

    注意:DEBUG和RELEASE的区别,DEBUG下可以直接运行,而RELEASE不一定能直接运行,这并不是表示RELEASE版本有问题,而是表示两者需要操作不同.RELEASE版本要比DEBUG版本 ...

  9. jQuery Chosen 使用

    jQuery Chosen 使用   1.  jQuery Chosen 选择框下拉值重置: 1 2 3 4 //重置 $("#easySelBrands").val(" ...

  10. Oracle 12C -- temporal validity

    temporal validity需要在创建表的时候使用一个vaild-time维度(包含时间起始和结束) 创建有valid-time维度的表 (1)显式指定两个date-time列 SQL> ...