一、服务端设置

1. 修改 server 端配置

# vi /etc/rsyncd.conf

修改:

uid = nobody                           # 该选项指定当该模块传输文件时守护进程应该具有的uid.默认值为”nobody”.
gid = nobody # 该选项指定当该模块传输文件时守护进程应该具有的gid.默认值为”nobody”.
max connections = 4 # 最大连接数为4
use chroot = no # 不使用chroot
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
hosts allow = 28.16.67.10 # 哪些客户端IP可以访问rsync服务
#hosts deny = 192.168.100.0/24 # 哪些IP不可以访问rsync服务 0/24 代表 192.168.100 该IP段

添加一个自定义的同步模块配置:

[mysqlbackup]                          # rsync同步模块的设定名称
path = /mydata/mysql/data # 需要同步的数据存放路径
comment = mysql backup folder # 注释
auth users = root # 指定用户
ignore errors # 忽略错误
read only = yes # 只读
list = no # 不能列表
auth users = root # 连接rsync服务的帐号
secrets file = /etc/rsyncd.pwd # 指定存放帐号密码的位置

2. 服务端生成密码文件

# echo root:123456 >> /etc/rsyncd.pwd

配置文件权限,仅允许 root 使用:

# chmod 600 /etc/rsyncd.pwd

3. 启动 rsync 守护进程方式启动

# rsync –-daemon

4. 添加到自启动文件

# echo "rsync --daemon" >> /etc/rc.d/rc.local

5. 检查 rsync 默认使用的是873端口,除非特殊情况,一般不要去修改

# netstat -na | grep 873

显示如下:

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN

tcp 0 0 :::873 :::* LISTEN

二、客户端设置:

1. 生成密码文件 rsync 服务端 root 帐号密码 (注:只要密码)

# echo 123456 >> /etc/rsyncd.pwd
# chmod 600 /etc/rsyncd.pwd

2. 指定客户端目录与服务端指定的rsync模块配置的目录同步,并删除客户端存在而服务端不存在的目录或文件

# rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/mysql

# -v, –verbose 详细模式输出

# -z, –compress 对备份的文件在传输时进行压缩处理

# -r, –recursive 对子目录以递归模式处理

# -t, –times 保持文件时间信息

# -o, –owner 保持文件属主信息

# -p, –perms 保持文件权限

# -g, –group 保持文件属组信息

# –-progress 显示传输进度

# –-delete 删除本地备份目录中服务器模块指定目录中没有的文件

# –-password-file 从指定文件中得到密码

3. 制定计划任务

# crontab -e

加入:

0 0 * * * rsync -vzrtopg --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/backup/mysql > /dev/null 2>&1

Linux使用rsync客户端与服务端同步目录进行备份的更多相关文章

  1. window安装rsync客户端和服务端

    原文地址: https://www.cnblogs.com/janas/p/3321087.html 下载地址: https://linux.linuxidc.com/index.php?folder ...

  2. 远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接

    本篇blog将讲述sshd服务提供的两种安全验证的方法,并且通过这两种方法进行两台Linux虚拟机之间的远程登陆. 准备工作: (1)     准备两台安装有Linux系统的虚拟机,虚拟机软件采用VM ...

  3. c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9601511.html c++ 网络编程(一)TCP/UDP  入门级客户端与服务端交互代码 网 ...

  4. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其“可靠的数据传输”实现的原理就是,“拥塞控制”的滑动窗口机制,该机制包含的算法主要有“慢启动”,“拥塞避免”,“快速重传”. 2 TCP socket ...

  5. NIO【同步非阻塞io模型】关于 NIO socket 的详细总结【Java客户端+Java服务端 + 业务层】【可以客户端间发消息】

    1.前言 以前使用 websocket来实现双向通信,如今深入了解了 NIO 同步非阻塞io模型 , 优势是 处理效率很高,吞吐量巨大,能很快处理大文件,不仅可以 做 文件io操作, 还可以做sock ...

  6. linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)

    单客户端和服务端的通信(基于UDP)   代码 服务端代码socket3.c #include<sys/types.h> #include<sys/socket.h> #inc ...

  7. Linux下Rsync+sersync实现数据实时同步

    inotify 的同步备份机制有着缺点,于是看了sersync同步,弥补了rsync的缺点.以下转自:http://www.osyunwei.com/archives/7447.html 前言: 一. ...

  8. Linux下Rsync+Inotify-tools实现数据实时同步

    Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...

  9. TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况

    TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况 请访问原文链接:https://sysin.org/blog/tlsv1-3-support/,查看最新版. ...

随机推荐

  1. VS 使用技巧

    1.按下alt键,可以做到竖向选择 2.

  2. C语言之总结1

    1). 终端常用的命令: pwd 显示终端的工作路径. ls  list 清单 显示当前工作路径下的所有的文件以及文件夹. ls -l 以详细信息显示当前工作路径下的所有的文件以及文件夹. cd 要切 ...

  3. 点击某一按钮新增click,并切换页面

    应用场景:对于web端接收手机验证码的处理方法:1.如果有权限可以通过查询数据库来获得手机验证码,方便快捷.2.如果后台系统保存了手机验证码,可以去后台获取验证码,然后填写到前台页面,此方法有两种处理 ...

  4. 开发团队在TFS中使用Git Repository (一)

    在研发团队中,代码版本管理是最为基础的必要工具.个人使用过的版本管理工具有SVN.VSS.ClearCase.TFS.Git,从团队的角度和使用角度来说,个人倾向于与使用TFS作为团队的基础工具.首先 ...

  5. Excel单元格所在的行和列变色

    网友问到如何通过移动光标选择单元格,所在的行和列变色.如每次输入价格的时候,想想在横竖方向上有颜色标识,这样方便对照输入价格 . 这里可以使用窗体的Worksheet_SelectionChange ...

  6. js实现文本框或文本域在用户输入时(oninput)触发事件,操作元素

    写在前面:给不同的文本框设定同样的效果,当文本框没有内容输入时,‘下一步’按钮不可用且透明度为0.5.当有内容输入时(并不是获得焦点时focus),‘下一步’按钮状态可用, 且透明度为1. <s ...

  7. gridcontrol datatemplate trigger

    <TextBlock Name="textBlock" HorizontalAlignment="Left" Text="{Binding Va ...

  8. 关于在框架中使用curl的思考,以及,curl其实很好用

    初步猜想: 在接触到框架文档的第一阶段时,会觉得控制器调用模型就是一件很简单的事,tp中用D方法或者M方法来实例化模型,laravel中用命名空间来加载模型,CI中用$this->load-&g ...

  9. nginx https 配置

    1.创建证书并下载(下载完成后有两个文件) *.pem *.key 2.将两个文件放在linux 某个目录下 3.配置nginx的conf配置文件 server{ # https 端口默认不是80,是 ...

  10. intellij idea 生成UUID

    Intellij IDEA 默认没启用这个功能 需要手动设置一下 , 下面是路径 Setting->Inspections->Serialization issues->Serial ...