zoukankan      html  css  js  c++  java
  • rsync 备份 Anny

    Refer to http://jianlee.ylinux.org/Computer/Server/rsync.html

    简单使用

    单机使用

    同步目录 A 到目录B,以 A 目录为基准,如果 A 目录没有,B 目录有的会删除。 A 目录有, B 目录没有的,就从 A 拷贝到 B 。示例 ("/data/projects/crepo" 是 A,"./" 是 B):

    $ rsync -av /data/projects/crepo ./
    

    注意!如果带目录 "/data/projects/crepo" 带 "/" 后缀,就备份其内容到 "./" 下了,现在是备份 "/data/projects/crepo" 目录到 "./" 下。

    使用 SSH 远程备份

    需要远程主机开启 SSHD

    #安装openssh-server,可以通过synaptic安装,也可以用apt-get安装,ssh 默认端口号22,查看是否启动 netstat -an|grep 22 或者rpm -qa|grep openssh,若没有启动,可以service sshd start

    rsync -avz jianlee@172.16.70.2:/path/to/远程主机上的目录A /path/to/本地目录B
    

    这样 A 就同步到 B 了。 "jianlee@172.16.70.2:/path/to/远程主机上的目录 A" 是 ssh 的格式。

    注意,如果 "/path/to/远程主机上的目录A" 的格式以 "/" 结尾,就可以避免备 份到本地目录为 "/path/to/本地目录B/远程主机上的目录A" 形式。

    rsync -avz --exclude=.git/ jianlee@172.16.70.2:/home/jianlee/work/tat/ tat
    

    匿名 rsync 服务器

    本示例要搭建一个匿名 rsync 服务(指定 ip 访问),然后在指定的机器上运行 rsync 服务:

    创建 rsync 服务

    很简单,创建配置文件,启动 rsync 服务即可。

    我在 172.16.70.33 上创建一个 rsync 服务器,提供一个名为 "BuildSrv" 的备 份对象

    创建 rsync 配置文件

    编辑 /etc/rsyncd.conf 文件,如不存在请创建:

    # 全局设定
    # motd file 指定客户端访问显示的欢迎信息
    motd file = /etc/rsyncd.motd
    # read only 禁止客户端写服务器
    read only = yes
    list = yes
    uid = root
    gid = root
    #hosts allow = 172.16.70.28
    #hosts deny = 172.16.0.0/16
    max connections = 2
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsyncd.lock
    
    # 要备份的资源设置,[]里面是 module 名字,备份时指定它就可以确定要备份的对象
    [BuildSrv]
    comment = Build SRV
    # path 是示例里要备份的目录
    path = /data/lab/obs/src/
    

    说明:

    1. "hosts allow" 可以指定可访问此 rsync 服务的机器 ip,"hosts deny"意思也很明显
    2. "log file","pid file","lock file"是通常的做法

    启动 rsync 服务

    下面介绍 "daemon" 和 "xinetd" 两种方式运行 rsync 服务器。

    daemon 运行

    只要运行下面命令即可启动 rsync 服务:

    /usr/bin/rsync --daemon
    
    xinetd (超级服务器)

    也可以使用这种方式,编辑 /etc/xinetd.d/rsync 为如下:

    service rsync
    {
            disable = no
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/bin/rsync
            server_args     = --daemon
            log_on_failure  += USERID
    }
    

    启动 xinetd 服务:

    /etc/init.d/xinetd start
    

    在客户端使用 rsync 命令执行备份

    注意,下面用上面创建的 "BuildSrv" module 指定要备份的对象:

    $ rsync -avz --progress --delete 172.16.70.33::BuildSrv build_backup
    

    注意, 172.16.70.33 和 "BuildSrv" 之间是 "::" (两个冒号) ,这样 rsync 自动使用 873 (rsync 服务默认端口) 来备份。"build_backup" 是备份到本地的 目录。

    上面命令还复杂,可以更简单使用:

    $ rsync -avz 172.16.70.33::BuildSrv build_bak2
    
  • 相关阅读:
    Tomcat的配置
    读《大道至简》总结
    manjaro安装minishift
    minishift 部署mysql持久化
    从大神到小白之路minishift 命令补全
    Typora 完美结合 PicGo,写作体验更佳!
    40 个笑到抽筋的神回复,绝了!
    如何写出让同事好维护的代码?
    Google的面试题长啥样?看完被吊打
    Mac 超详细入门指南,备用!
  • 原文地址:https://www.cnblogs.com/limei/p/2184096.html
Copyright © 2011-2022 走看看