一、安装rsync服务端

1.查看是否安装rsync
ps -ef | grep rsync

系统一般默认已安装,安装方法:

yum -y install rsync

 2.添加配置文件

rsync没有默认配置文件,需要手动创建/etc/rsyncd.conf

服务端配置文件/etc/rsyncd.conf 内容如下:设置了两个同步目录。

[root@host-10-0-100-156 bin]# cat /etc/rsyncd.conf
pid file=/var/rsync/rsync.pid
port=873
lock file=/var/rsync/lock.log
log file=/var/rsync/rsync.log [data1]
path=/root/confluence-6.2.3/
use chroot=no
max connections=10
read only=yes
write only=no
list=no
uid=root
gid=root
auth users=rsyncuser
secrets file=/etc/rsync_server.pas
strict modes=yes
hosts allow=10.0.100.156,192.168.2.108,10.0.100.153
ignore errors=yes
timeout=120 [data2]
path=/data/confluence/
use chroot=no
max connections=10
read only=yes
write only=no
list=no
uid=root
gid=root
auth users=rsyncuser
secrets file=/etc/rsync_server.pas
strict modes=yes
hosts allow=10.0.100.156,192.168.2.108,10.0.100.153
ignore errors=yes
timeout=120

  

参数说明:
[mysql] :模块名,自己定义,可以在下方添加其它模块。须与客户端执行命令中的模块名一致。
path:要备份的服务端文件夹路径。
hosts allow:允许的客户端连接IP。
secrets file:服务端密码文件,内容格式为,用户名:密码。
auth users:有权限的用户名,与密码文件中用户名一致。

3.创建密码文件并更改文件权限为600

在/etc中创建文件rsync_server.pas,加入用户名与密码,内容格式为:用户名:密码。
vim /etc/rsync_server.pas
例如,本例中rsync_server.pas文件内容为rsyncuser:123456

然后设置密码文件权限为600

chmod 600 /etc/rsync_server.pas

注意密码文件只有设置为600权限才可以使用,客户端的密码文件也必须为600。

4.启动rsync
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
附加:停止rsync ps -ef | grep rsync
kill -9 进程号
rm -rf /var/rsync/rsync.pid

二、安装rsync客户端

1.查看是否安装rsync,系统一般默认已安装,安装方法:yum -y install rsync(同服务端)。
2.在/etc下创建密码文件rsync_client.pas,注意内容只有密码,且与服务端密码文件中的密码相同。

[root@localhost confluence]# cat /etc/rsync_client.pas
123456

3.更改密码文件权限为600。

chmod 600 /etc/rsync_client.pas

  

三、添加定时任务

在客户端中添加定时任务,每天凌晨执行命令从服务器端拉取数据,进行备份。
直接编辑/etc/crontab文件,添加一条定时任务即可,例如每天01:23以root身份执行下方的rsync命令,将远程服务器27.223.26.74中的mysql模块对应的文件夹(服务端/etc/rsyncd.conf文件中的[mysql]模块对应的文件夹路径 )中的内容增量备份到当前服务器的/home/oa_daba_backup目录:

[root@localhost confluence]# rsync -aqzrtopg --delete rsync://rsyncuser@10.0.100.156/data1 /home/xuli/confluence/confluence_conf/  --password-file=/etc/rsync_client.pas

[root@localhost confluence]# rsync -aqzrtopg --delete rsync://rsyncuser@10.0.100.156/data2 /home/xuli/confluence/confluence_attachments/  --password-file=/etc/rsync_client.pas

  

命令中的rsyncuser为服务端密码文件中配置的用户名;mysql为服务端/etc/rsyncd.conf文件中的[mysql]模块名,rsync会通过模块名找到对应的备份文件路径;/home/oa_daba_backup当前服务器文件夹路径,远程服务器需要备份的文件夹里的内容会增量备份到这里,所以需要提前建好该目录;/etc/rsync_client.pas为当前服务器的密码文件。
当直接执行上方备份命令时,可以加入-v --progress参数, 即显示具体备份过程信息,定时任务中则不需要。

此外,使用crontab -e命令也可以直接配置定时任务,但与vi /etc/crontab不同,不同点如下:
1./etc/crontab中的为系统任务,只有root可以设定,而crontab -e设置的定时任务为用户任务,设定完成后会将任务自动写入/var/spool/cron/usename文件。
2./etc/crontab中的任务需要指定用户名,crontab -e不需要。

二者更多的不同请参考下面网址:
https://www.cnblogs.com/xd502djj/p/4292781.html

附:任务策略:
每天零点执行备份命令
00 00 * * * shell命令

每天零点和12点执行备份命令
00 00,12 * * * shell命令
00 00,12 * * * shell命令

Linux rsync数据定时增量备份的更多相关文章

  1. rsync数据定时增量备份知识管理服务器数据

    为了保证公司知识管理服务器数据的安全性,所以计划每天同步confluence服务器上面数据 一.安装rsync服务端 1.查看是否安装rsync ps -ef | grep rsync 2.添加配置文 ...

  2. linux下rsync和tar增量备份梳理

    前面总结过一篇全量备份/增量备份/差异备份说明,下面介绍下linux下rsync和tar两种增量备份的操作记录: 1)rsync备份 rsync由于本身的特性,在第一次rsync备份后,以后每次都只是 ...

  3. Linux Rsync实现文件同步备份(转载)

    原文地址:Linux Rsync实现文件同步备份作者:夷北 转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [ ...

  4. Centos 6.5 实战-MySQL定时增量备份(2)

    首先在进行增量备份之前需要查看一下配置文件,查看 log_bin 是否开启,因为要做增量备份首先要开启 log_bin .首先,进入到 myslq 命令行,输入如下命令: [root@localhos ...

  5. 用solr DIH 实现mysql 数据定时,增量同步到solr

    基础环境: (二)设置增量导入为定时执行的任务: 很多人利用Windows计划任务,或者Linux的Cron来定期访问增量导入的连接来完成定时增量导入的功能,这其实也是可以的,而且应该没什么问题. 但 ...

  6. 实战-MySQL定时增量备份(2)

    概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了.所以要对我们的线上数 ...

  7. 利用shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    现有需求:将oracle数据库中的数据准实时同步至某ftp服务器中,以便前端应用能定时从ftp服务器目录中取增量数据 方法:将加工脚本写为存储过程,然后利用shell脚本执行该存储过程并将增量数据导出 ...

  8. rsync 实现实时增量备份

    Rsync + Crontab实现定时文件同步(首次全量+后续增量) 2015-04-14 19:02:11 标签:增量更新 rsync crontab 原创作品,允许转载,转载时请务必以超链接形式标 ...

  9. Linux中mongodb定时远程备份

    下载mongodb https://www.cnblogs.com/tartis/p/5291580.html mongodb定时备份文档 虚拟机报错要改BIOS 虚拟技术开启 进入root账户  s ...

随机推荐

  1. stout代码分支之十二:巧妙的EXIT

    在c++中,为了便于定位问题,进程异常退出时,需要获取返回码和错误信息.stout中将这种功能巧妙的封装成EXIT类. #define EXIT(status) __Exit(status).stre ...

  2. 题解【bzoj1010 [HNOI2008]玩具装箱TOY】

    斜率优化动态规划可以用来解决这道题.同时这也是一道经典的斜率优化基础题. 分析:明显是动态规划.令\(dp[i]\)为前\(i\)个装箱的最小花费. 转移方程如下: \[dp[i]=\min\limi ...

  3. Leetcode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复

    1.题目描述 设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构. 注意: 允许出现重复元素. insert(val):向集合中插入元素 val. remove(val):当 va ...

  4. 关于MyBatis一些小错误,元素内容必须由格式正确的字符数据或标记组成.

    今天在Mapper.xml文件写查询语句报了个奇怪的错误 Caused by: org.apache.ibatis.builder.BuilderException: Error creating d ...

  5. 1.0 docker介绍

    简介: 一种虚拟化的方案 将应用程序自动部署到容器   特点: 轻量 环境的一直性 提高开发生命周期 使用面向服务的架构   场景: 开发.测试.部署 创建隔离的运行环境 集群测试环境 云计算应用   ...

  6. jeecg3.7中弹出窗操作标签dgOpenOpt的用法

    1.基本参数 参数名                    描述 url                           弹出页面地址 title                         ...

  7. Revison

  8. linux网络编程之IO函数

    Linux操作系统中的IO函数主要有read(),write(),recv(),send(),recvmsg(),sendmsg(),readv(),writev(). 接收数据的recv()函数 # ...

  9. C# 对后台方法事件,可以直接return; 跳出

    protected void lbtButton_Click(object sender, EventArgs e) { return; } C# 对后台方法事件,可以直接return; 跳出

  10. Atom:优雅迷人的编辑神器

    对于热爱markdown写作的人来说,Atom同样是一款拥有无穷魅力的写作软件.我不怕它无法满足你的需求,就怕你不给一个机会了解它,那么,这将是一场遗憾的错过. 大学的时候,坊间对那些编程高手有一个令 ...