ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
功能: rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据镜像同步备份的优秀工具。rsync适用于Unix/Linux/Windows等多种操作系统平台。 语法: rsync有三种常见的模式 1)本地模式 rsync 【option】 【SRC】【DEST】 相当于cp命令 2)通过远程shell访问模式 拉取(Pull): rsync [option] [USER@]HOST:SRC [DEST] rsync [选项] 用户@主机:源文件 [目标文件] 推送(Push): rsync [option] [SRC] [USER@]HOST:DEST rsync [选项] [源文件】 用户@主机:目标文件 3)rsync守护进程模式 拉取(Pull): rsync [option] [USER@]HOST::SRC [DEST] rsync [选项] 用户@主机::源文件 [目标文件] 推送(Push): rsync [option] SRC [USER@]HOST::DEST rsync [选项] [源文件] 用户@主机::目标文件 常用选项: -a 以递归方式传输文件,并保持原文件的属性 -z 传输时进行压缩,提高传输效率 -v 详细模式输出 -P 显示同步的过程及传输时的进度等信息 -exclude-from=file 从文本文件中读取需要排除的文件列表 --delete 使目标目录内容和源保持目录一直,删除不同的文件 范例1: [root@fenfa tmp]# mkdir -p /data1/{test1,test2,test3} /data2 You have mail in /var/spool/mail/root [root@fenfa tmp]# rsync -av /data1/ /data2 当通过rsync同步的时候,源文件带/,表示复制目录内容,而不是目录本身,如果不带/,者是复制目录本身到指定位置 范例2: 一个目录下有几十万个文件,用什么方式可以最快删除所有文件? [root@fenfa tmp]#mkdir /null [root@fenfa tmp]# rsync -av --delete /null/ /tmp/ 范例3: 拉取文件或目录到本地 [root@fenfa tmp]# rsync -avz 10.2.11.229:/server/scripts/ /tmp/ root@10.2.11.229's password: receiving incremental file list ./ yum_install_nginx.sh sent 33 bytes received 561 bytes 132.00 bytes/sec total size is 800 speedup is 1.35 You have mail in /var/spool/mail/root [root@fenfa tmp]# ll total 4 -rwxr--r-- 1 root root 800 Jan 10 17:57 yum_install_nginx.sh [root@fenfa www]# rsync -avz /var/www/www.tar.gz 10.2.11.229:/tmp root@10.2.11.229's password: sending incremental file list www.tar.gz 范例4: 使用rsync同步数据都是明文传输的,在要求保障数据安全的场景下,可以使用-e选项借助SSH隧道进行加密传输数据,-p是SSH命令的选项 [root@fenfa /]# tar zcvf etc.tar.gz ./etc/ [root@fenfa /]# rsync -avz -e 'ssh -p 22' etc.tar.gz 10.2.11.229:/tmp root@10.2.11.229's password: sending incremental file list etc.tar.gz sent 190429271 bytes received 31 bytes 12285761.42 bytes/sec total size is 190365292 speedup is 1.00 You have mail in /var/spool/mail/root