手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

rsync 网站自动化备份利器

[日期:2015-01-07] 来源:Linux社区  作者:chenlvzhou [字体: ]

rsync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH、rsync主机同步。与传统的cp、scp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。
   
环境
CentOS 5.8(64)  192.168.23.130 (service)
centos 5.8(64)  192.168.23.131 (client)
软件
rsync-3.1.1.tar.gz(http://rsync.samba.org/)
安装步骤
1.前期的准备条件
    a.关闭selinux、防火墙(个人习惯不管什么情况下,自己玩都是必须关闭)
    b.yum install -y make gcc
2.安装rsync(service、client)
    a.tar -zxf rsync-3.1.1.tar.gz
    b.cd rsync-3.1.1
    c. ./configure --prefix=/usr/local/rsync
    d.make
    e.make install
3.配置rsync
    a.vim /etc/rsyncd.conf(service)
        uid = root                       
        gid = root
        use chroot = no
        [apps]
        auth users = root
        secrets file = /etc/rsyncd.passwd
        munge symlinks = no
        read only = no
        path=/data/test
    b.vim /etc/rsyncd.passwd(service)
        root:111111
    c.vim /etc/rsync.passwd(client)
        111111
4.启动rsync(service)
    /usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf
5.同步文件(client)
    /usr/local/rsync/bin/rsync -vzrtopg --progress --delete rsync://root@192.168.23.131/apps /tmp/tmp/ --password-file=/etc/rsync.pas (service->client)
    /usr/local/rsync/bin/rsync -vzrtopg --progress --delete /tmp/tmp/ rsync://root@192.168.23.131/apps --password-file=/etc/rsync.pas (client->service)
6.验证
    到相应的目录查看是否存在同步的文件
以后是手动运行的,对于比较懒的人肯定不适合,下边就介绍Inotify-tools工具,可以实现实时自动同步。Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具。
7.安装Inotify-tools
    a.wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
    b.tar -zxf inotify-tools-3.14.tar.gz
    c.cd inotify-tools-3.14
    d. ./configure --prefix=/usr/local/inotify
    e.make
    f.make install
8.编写shell脚本(rsync.sh)

#!/bin/sh

    #local dir
    dstdir="/tmp/tmp/"

    #sync user
    rsyncuser="root"

    #sync password
    rsyncpassword="/etc/rsync.pas"

    #remote ip
    remoteip="192.168.23.131"

    #remote module
    module="apps"

    #sync remote server  module to local dir
    for ip in $remoteip
    do
        /usr/local/rsync/bin/rsync -vzrtopg --progress  --delete  $rsyncuser@$ip::$module  $dstdir  --password-file=$rsyncpassword
    done


    #monitor local dir, then rsync remote server module
    /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $dstdir |  while read file
    do
        for ip in $remoteip
            do
                /usr/local/rsync/bin/rsync -vzrtopg --progress  --delete $dstdir  $rsyncuser@$ip::$module  --password-file=$rsyncpassword
                echo "  ${file} was rsynced" >> /tmp/rsync.log 2>&1
            done
    done

9.chmod 755 rsync.sh

10.运行shell脚本,并到相应的目录操作看是否操作成功

11.设置开机自启动

echo "sh /usr/local/inotify/rsync.sh &" >> /etc/rc.d/rc.local

Rsync+inotify实现Git数据实时同步备份 http://www.linuxidc.com/Linux/2014-10/108298.htm

Rsync实现文件备份同步详解 http://www.linuxidc.com/Linux/2014-09/106967.htm

Rsync同步两台服务器 http://www.linuxidc.com/Linux/2014-09/106574.htm

CentOS 6.5下Rsync远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Ubuntu Linux下用Rsync进行数据备份和同步配制 http://www.linuxidc.com/Linux/2014-03/97592.htm

Linux使用Rsync客户端与服务端同步目录进行备份 http://www.linuxidc.com/Linux/2014-02/97068.htm

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2015-01/111435p2.htm

linux
相关资讯       rsync 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款