一、安装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. linux-柔性数组

    柔性数组:在C99定义的结构体中,最后一个元素允许是未知大小(或者是0)的数组,它不占用结构体任何内存,这个数组叫做柔性数组,柔性数组前必须至少有一个其它成员. 使用方式: #include<s ...

  2. std::string在多字节字符集环境下substr的实现方法

    昨天写到<使用多字节字符集的跨平台(PC.Android.IOS.WP)编码/解码方法>中提到服务端使用std::string处理字符串,std::string对多字节字符集支持并不是很完 ...

  3. like tp

    $where['insurance_order_num'] = array('like',$insurance_order_num.'%'); //右边模糊搜索,2099032902309张三 和 2 ...

  4. Update SSM agent to each EC2 via Bat and bash script

    1. copy the instance id from aws console to file 2. remove the , from file sed -i 's/,//g' file 3. g ...

  5. [LeetCode] 19. Remove Nth Node From End of List ☆

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...

  6. [LeetCode] 10. Regular Expression Matching ☆☆☆☆☆

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  7. 解决gitlab关闭登录选项问题

    1.连接资料库      mysql -uroot -p   2.use gitlabhq_production; 3.进入后,输入下面语句UPDATE application_settings se ...

  8. Linux Shell下执行sqlplus

    转载自: http://www.cnblogs.com/include/archive/2011/12/30/2307889.html 以下方法解决了在linux下自动的删除创建用户 sqlplus ...

  9. 【NOIP】提高组2015 跳石头

    [算法]二分查找 [题解]最小值最大化问题. 从1..l内二分枚举答案,将每个答案最少移开的石头数与最大移开数m比较. 精简写法学自:https://vijos.org/p/1981/solution ...

  10. vue数组操作不触发前端重新渲染

    暂时使用给数组先赋值 [ ] ,然后重新赋值的方式解决. 此外,能够监听的数组变异方法 https://cn.vuejs.org/v2/guide/list.html#%E5%8F%98%E5%BC% ...