zoukankan      html  css  js  c++  java
  • rsync常用命令和使用方法

    rsync是一个远程数据同步工具,可以实现数据的增量备份,这点比scp要好,scp只能全量备份。同步可以保持文件原有属性,传输过程加密,数据传输全。

    rsync 的传输模式有:
            1. 本地shell模式
            本地shell模式用于复制本机的目录到另一个目录,和cp一样
            2. 远程shell模式
            远程shell模式可以把本机的数据复制到远程的机器上,和 scp一样
            3.  服务器模式
            服务器模式是使用最多的方式,其他3个模式都可以用其他指令替代,远程自动同步也是使用服务器模式 

    • 安装rsync
    [root@yufu tmp]# yum install rsync -y
    • rsync 常用的参数说明:
    -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
    
    -v, --verbose 详细模式输出
    
    -p, --perms 保持文件权限
    
    -g, --group 保持文件属组信息
    
    -o, --owner 保持文件属主信息
    
    -r, --recursive 对子目录以递归模式处理。同步目录的时候要加上这个
    
    -R --relative:使用-R与-r选项可以同步整个目录,而不是目录下的文件,单独使用-r选项值同步目录下所有的文件,并不会同步目录
    
    -l, --links 保留软链结,加上这个参数,同步过来的文件会保持之前的软链接属性不变
    
    -H, --hard-links 保留硬链结
    
    -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
    
    -z, --compress 对备份的文件在传输时进行压缩处理
    
    --stats 给出某些文件的传输状态
    
    --progress 打印同步的过程
    
    --timeout=TIME 同步过程中,IP超时时间,单位为秒
    
    --delete 删除那些目标目录中有而源目录中没有的多余文件。这个是rsync做增量方式的全备份的最佳选择方案!
    
    --delete-before 接受者在输出之前进行删除操作。即先将目标目录中文件全部删除,再将源目录文件拷贝过去。
    
    这是rsync保持目标目录跟源目录一致的方案!!!
    
    --delete-after 在同步操作之后做比较,删除那些目标目录中有而源目录中没有的多余文件
    
    --delete-excluded 删除目标目录中那些被该选项指定排除的文件
    
    --ignore-errors 即使出现IO错误也进行删除,忽略错误
    
    --exclude 指定同步时需要过滤掉的文件或子目录(即不需要同步过去的),后面直接跟不需要同步的单个文件名或子目录(不需要跟路径) 
    
    过滤多个文件或子目录,就使用多个--exclude
    
    --exclude-from 指定同步时需要过滤掉的文件或子目录,后面跟文件(比如/root/exclue.txt)
    
    然后将不需要同步的文件和子目录放到/root/exclue.txt下。
    
    --version 打印版本信息
    
    --port=PORT 指定其他的rsync服务端口
    
    --log-format=formAT 指定日志文件格式
    
    --password-file=FILE 从FILE中得到密码
    
    --bwlimit=KBPS 限制I/O带宽,KBytes per second
    •     基本使用方法(类似cp)

        复制/etc/fstab 到/tmp下

    [root@localhost tmp]#rsync -a /etc/fstab /tmp/   #-a:保留原文件属性
    [root@localhost tmp]#ls
    fstab

        复制/etc目录到/tmp下

    [root@localhost tmp]#rsync -ar /etc /tmp/     #注意/etc后面加斜线与不加斜线的区别,加斜线是复制该目录下的所有文件,不加斜线是复制整个目录
    [root@localhost tmp]#ls
    etc  fstab

        远程文件传输 –shell方式

    [root@localhost tmp]#rsync -arvz /tmp/fdd root@192.168.214.187:/tmp/  # -z :压缩传输
    root@192.168.214.187's password: 
    sending incremental file list
    fdd/
    fdd/f1
    fdd/f2
    fdd/f3
    
    sent 182 bytes  received 73 bytes  72.86 bytes/sec
    total size is 0  speedup is 0.00

    ##远程传输会将文件的属组信息改为ssh登录使用的用户属组属主,如上面的fdd目录的属组属主会变成root

      

      开启加密传输,加强传输安全性

    [root@localhost tmp]#rsync -arvze ssh /tmp/nginx root@192.168.214.187:/tmp/
    root@192.168.214.187's password: 
    sending incremental file list
    nginx/
    nginx/nginx.txt
    nginx/mysql/
    
    sent 132 bytes  received 39 bytes  38.00 bytes/sec
    total size is 0  speedup is 0.00
    
    检查远程主机目录
    
    [root@yufu tmp]# tree nginx
    nginx
    ├── mysql
    └── nginx.txt
    
    1 directory, 1 file
  • 相关阅读:
    warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    Windows10+CLion+OpenCV4.5.2开发环境搭建
    Android解决部分机型WebView播放视频全屏按钮灰色无法点击、点击全屏白屏无法播放等问题
    MediaCodec.configure Picture Width(1080) or Height(2163) invalid, should N*2
    tesseract
    Caer -- a friendly API wrapper for OpenCV
    Integrating OpenCV python tool into one SKlearn MNIST example for supporting prediction
    Integrating Hub with one sklearn mnist example
    What is WSGI (Web Server Gateway Interface)?
    Hub --- 机器学习燃料(数据)的仓库
  • 原文地址:https://www.cnblogs.com/anay/p/8705866.html
Copyright © 2011-2022 走看看