使用RSYNC在服务器间镜像或者备份目录和文件

Nora ·
更新时间:2024-09-21
· 916 次阅读

主页:rsync.samba.org
环境: Redhat Linux 6.2 , rsync 2.4.3(下载源码编译最好),
      两台linux服务器192.168.11.7(test)(rsync server) , 192.168.11.2(proxy)(rsync client)
步骤:
1. 下载最新的rsync 2.4.3源文件编译,看rsync.samba.org ,据我所知, 只有2.4.3才支持
镜像时的排除选项 --include and --exclude, 编译后得到一个执行文件rsync,仅需这个执行文件即可
2. 编辑配置文件/etc/rsyncd.conf 如下:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test]
   path = /test
   comment = test folder
   uid = root
   ignore errors
   read only = yes
   list = no
   auth users = sun
   secrets file = /etc/test.scrt
注释: 定义了需要被镜像的目录为/test,需要密码连接,文件在/etc/test.scrt,
注意该文件的属性和权限  -rw-------   1 root     root       test.scrt
[root@test /etc]# more /etc/test.scrt
test:tset

3.启动服务器后台 rsync
# rsync --daemon
且加这一行到/etc/rc.d/rc.local
# echo "rsync --daemon" >> /etc/rc.d/rc.local
4. 在服务器192.168.11.2上设定客户端cron job. 每晚自动作备份或者镜像
0 21 * * 1-5 /root/.test.sh
note:每晚九点周一至周五自动运行/root/.test.sh作备份
#more /root/.test.sh
#!/bin/sh
DATE=`date +%w`
rsync -tvzrp -e ssh --progress --delete test@192.168.11.7::test /shopu/test/$DATE --password
-file=/etc/test > /var/log/test/test.$DATE
mail -s "test Backup is done"  myemailaddress < /var/log/test/test.$DATE
[root@proxy /root]# more /etc/test
tset
[root@proxy /root]# ls /etc/test -l
-rw-------   1 root     root            4 May 16 21:40 /etc/test

注意: -e ssh表示用SSH加密连接,需要服务器test支持SSH
5.可用于下列用途:
a. 从另一台服务器备份主服务器上的某个整个目录,且可排除某个子目录及文件
b. 镜像主WEB服务器的主页目录,适合于像像网站,用--delete可删除服务器上没有的本地文件
   是真正的像像,不同于wget,wget仅根据网站的URL链接下载链接指向的每个文件,本地文件并不
   删除
服务器数据同步 服务器端 cwRsync_Server_2.1.5_Installer.zip 您可能感兴趣的文章:rsync只同步指定目录的方法(已测)Linux 用cp和rsync同步文件时跳过指定目录的方法rsync 只同步目录结构不同步文件的方法



rsync 镜像 服务器

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Farrah 2021-06-01
670