rsync+crond定时远程备份

配置环境:redhat 6.3

 server A设置:

1. yum安装rsync-3.0.6-9.el6.i686。
#yum install -y rsync

2.建立rsync 同步目录/tmp/backup,此目录里面的内容将同步到远程备份服务器B上。
#mkdir /tmp/backup

3.建立密码文件,此文件用于存放rsync同步时使用的账号密码,格式为“用户名:密码”,该用户是与操做系统分离的,系统上不须要建立此用户。rsync的密码文件可以使用任意名称。
#vim /etc/rsyncd.pass 
laya:123456

密码文件权限需修改成600,
#chmod 600 /etc/rsyncd.pass
#ll /etc/rsyncd.pass
-rw------- 1 root root 9 Apr 16 11:07 /etc/rsyncd.pass

4.建立rsync配置文件/etc/rsyncd.conf,默认是没有这个文件的,须要手工建立。rsync的配置文件使用模块化结构,包含全局参数和模块参数,全局参数是通用的配置。每一个模块表明着一个目录树的同步,模块定义从[]中的模块名开始,到下一个模块定义开始。
rsync.conf配置以下:
----------------------------------------------------------------------------------------
uid=root     #该选项指定当该模块传输文件时守护进程应该具备的uid,默认值是“nobody”。
gid=root     #该选项指定当该模块传输文件时守护进程应该具备的gid,默认值是“nobody”。
use chroot=no                     #不使用chroot。
max connections=4                 #设置最大链接数,默认为0,即无限制。这里设置为4。
strict mode =yes                  #设置是否检查口令文件的权限。
pid file=/var/run/rsyncd.pid      #指定rysnc进程的pid文件位置 。
lock file=/var/lock/rsync.lock    #指定支持max connections的锁文件。
log file=/var/log/rsyncd.log      #指定 rsync日志输出路径。
 

[test]                             #模块名,可以使用任意名称。
path=/tmp/backup                   #源目录路径。
comment=test rsync                 #模块描述。
ignore errors                      #出现I/O错误时可忽略。
read only=no                       #是否只读,设置为no时客户端可上传文件。
write only=no                      #设置为no 时客户端可下载文件。
hosts allow=192.168.1.62           #容许访问的主机。
hosts deny=*                       #拒绝访问的主机,*表示全部主机。
list=false                         #设置客户端请求时是否列出该模块,false为隐藏。
auth users=laya                    #设置链接时使用的用户,即密码文件里面定义的用户名。
secrets file=/etc/rsyncd.pass      #指定存放密码文件的位置 。
----------------------------------------------------------------------------------------


5.启动rsync守护进程
#/usr/local/bin/rsync --daemon
 
rsync的默认端口为873,经过命令netstat –lnpt能够查看是否已正常启动。
vim

#netstat -lnpt
tcp        0      0 :::873               :::*                    LISTEN 2158/rs

----------------------------------------------------------------------------------------
  client B 配置
1. 安装rsync。
#yum install -y rsync

2. 配置密码文件,里面写入与服务器A上相同的密码,但不须要再写账号名。
#vim /etc/rsyncd.pass
123456

3. 建立备份的文件夹
mkdir /backup

4. 同步操做,使用以下命令从服务器A下载文件。
#/usr/local/bin/rsync -vzrtopgu --delete --progress --exclude
*.log” laya@192.168.1.37::test /backup  --password-file=/etc/rsyncd.pass

该命令的解释以下:
-v 即--verbose   #显示传输的详细信息。
-z 即--compress  #传输时对文件进行压缩。
-r 即--recursive #对子目录进行递归处理。
-t 即--times     #保持文件的时间信息。
-o 即--owner     #用来保持文件的属主信息。
-p 即--perms     #保持文件权限。
-g 即--group     #保持文件属组信息。
--delete  #以rsync服务器为基准保持数据同步,若是服务器删除了某一文件,客户端也会删掉。
--progress   #显示出详细的进度状况。
--exclude    #用于排除不须要的文件类型。
laya@192.168.1.37::test   #指定备份的服务器和相关的模块,laya为服务器A上面设置的
                           rsync同步账号,注意服务器IP与模块名之间为双冒号“::”。 
 
/backup #指定备份的文件在客户端B上的存放位置 。
--password-file=/etc/rsyncd.pass  #指定客户端存放密码文件的位置。

如今,咱们能够查看备份目录/backup,看到已经与A服务器上的/tmp/backup完成了同步,同时排除了咱们不想要同步的文件。

5.若是咱们须要定时同步,如三小时同步一次,只需把该命令加到计划任务便可。

* 3 * * * /usr/local/bin/rsync -vzrtopgu --delete --progress --exclude “*.log”  laya@192.168.1.37::test /backup --password-file=/etc/rsyncd.pass

 至此,rsync的同步设置完成。




服务器

相关文章
相关标签/搜索