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可以查看是否已正常启动。

#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” [email protected]::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    #用于排除不需要的文件类型。
[email protected]::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”  [email protected]::test /backup --password-file=/etc/rsyncd.pass

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




你可能感兴趣的:(crond,rsync,计划任务,自动备份,用户名)