• Rsync的简单使用


    Rsync的简单使用


    需求

    一个运行很久的系统里面可能包含了非常多的垃圾文件. 
    但是又不可能随便删除, 很多垃圾可能有某些奇葩的用法. 
    有时候新建一个应用复制文件的话比较浪费磁盘和带宽.
    所以这里简单总结一下一些很简单的用法.
    

    第一部分安装

    有时候很多低配安装的系统不带rsync的命令
    如果可以上网可以直接安装. 
    如果不能上网可以下载rsync的rpm包进行安装.
    实在不可以, 可以拿一个差不多版本同架构机器上面的rsync的二进制
    复制到 /usr/bin 目录下 进行使用. 
    

    第二部分: 差分同步

    rsync -av /data/myapp  /databack/ --delete
    说明1:
    -a 的命令表广泛:
    -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
    等效于如下命令一起使用:
    -r, --recursive             recurse into directories
    -l, --links                 copy symlinks as symlinks
    -p, --perms                 preserve permissions
    -g, --group                 preserve group
    -o, --owner                 preserve owner (super-user only)
    -t, --times                 preserve modification times
    说明2:
    -v 仅是为了验证效果, 以后可以不使用
    说明3:
    --delete 
    是会将第一个目录里面曾经删除过的动作在目录2里面执行重演. 
    能够保证两个目录再增量备份时,删除的文件也是一样的. 
    

    第二部分: 排除部分文件

    回到需求里面的描述. 其实我们很大的需求是可以少同步几个目录. 来提高速度
    命令需要为:
    rsync -av --exclude="somepath/underpatch" --exclude="*.log"  /data/myapp root@10.110.x.x:/databack/
    
    说明1:
    注意--exclude= 的后面需要使用双引号. 
    注意引号内部/data/myapp 作为父路径的目录或者是文件即可. 比如 如果不想同步 /data/myapp/somepath 直接输入
    --exclude="somepath" 就可以. 
    
    说明2:
    -v 也可以忽略. 
    

    第三部分: 关于 / 的处理

    先说明: 结论需要自己实测. 我这边使用的是centos 其他操作系统我保证不了
    
    认为关于 / 的处理. From的路径是有用的. To的路径用途不大. 都会指代路径. 
    嘉定目录信息为:
    /data/myapp/{1,2,3}
    
    rsync -av /data/myapp /databack/ 
    这个命令 会将 myapp 完整的复制到 /databack/的目录下面
    结果就是 /databack/myapp/{1,2,3}
    
    rsync -av /data/myapp/ /databack2
    这个命令 会将 myapp 下面的内容复制到 /databack2/ 的目录下面
    结果为 /databack2/{1,2,3}
    

    第三部分: 关于复制部分最近修改的文件

    rsync -av remote_host:'$(find logs -type f -ctime -1)' local_dir 
    如果端口号不是标准的:
    rsync -av -e 'ssh -p 2234' source/ user@remote_host:/destination
    注意 如果ssh互信了,可以直接用.
    
  • 相关阅读:
    python3中模块初识
    Django 应用程序 + 模型 + 基本数据访问
    Axure文本框验证和外部url的调用
    MATLAB 实时脚本(live-script)使用
    Django MTV 开发模式 + 数据库配置
    Django 模板继承
    Django 修改视图文件(views.py)并加载Django模块 + 利用render_to_response()简化加载模块 +locals()
    Django Context对象 + 过滤器 + 标签
    Axure 页面内多组内容切换的实现 + 利用一个内联框架实现百度地图访问
    MATLAB绘图功能(2) 二维底层绘图修饰
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/16741292.html
Copyright © 2020-2023  润新知