IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Linux下使用rsync进行数据备份的命令详解

运维派 2015-04-08 00:06:09 累计浏览 3,045 次
本机暂存

   对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。

   sync同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议,它可以复制或者显示目录并复制文件。rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件。同时要求必须在远程和本地系统上都安装sync。

   rsync的主要优点是:

   速度:最初会在本地和远程之间拷贝所有内容。下次,只会传输发生改变的块或者字节。

   安全:传输可以通过ssh协议加密数据。

   低带宽:rsync可以在两端压缩和解压数据块。

   sync命令语法:

   #rsysnc [options] source path destination path

   以下将根据sync的参数和应用场景来给大家介绍具体的用法:

   示例: 1 - 启用压缩

   [root@localhost /]# rsync -zvr /home/aloft/ /backuphomedir

   building file list ... done

   .bash_logout

   .bash_profile

   .bashrc

   sent 472 bytes received 86 bytes 1116.00 bytes/sec

   total size is 324 speedup is 0.58

   上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归。上面在本地的/home/aloft/和/backuphomedir之间同步。

   示例: 2 - 保留文件和文件夹的属性

   [root@localhost /]# rsync -azvr /home/aloft/ /backuphomedir

   building file list ... done

   ./

   .bash_logout

   .bash_profile

   .bashrc

   sent 514 bytes received 92 bytes 1212.00 bytes/sec

   total size is 324 speedup is 0.53

   上面我们使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行。

   示例: 3 - 同步本地到远程主机

   root@localhost /]# rsync -avz /home/aloft/ azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/

   Password:

   building file list ... done

   ./

   .bash_logout

   .bash_profile

   .bashrc

   sent 514 bytes received 92 bytes 1212.00 bytes/sec

   total size is 324 speedup is 0.53

   上面的命令允许你在本地和远程机器之间同步。你可以看到,在同步文件到另一个系统时提示你输入密码。在做远程同步时,你需要指定远程系统的用户名和IP或者主机名。

   示例: 4 - 远程同步到本地

   [root@localhost /]# rsync -avz azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/ /home/aloft/

   Password:

   building file list ... done

   ./

   .bash_logout

   .bash_profile

   .bashrc

   sent 514 bytes received 92 bytes 1212.00 bytes/sec

   total size is 324 speedup is 0.53

   上面的命令同步远程文件到本地。

   示例: 5 - 找出文件间的不同

   [root@localhost backuphomedir]# rsync -avzi /backuphomedir /home/aloft/

   building file list ... done

   cd+++++++ backuphomedir/

   >f+++++++ backuphomedir/.bash_logout

   >f+++++++ backuphomedir/.bash_profile

   >f+++++++ backuphomedir/.bashrc

   >f+++++++ backuphomedir/abc

   >f+++++++ backuphomedir/xyz

   sent 650 bytes received 136 bytes 1572.00 bytes/sec

   total size is 324 speedup is 0.41

   上面的命令帮助你找出源地址和目标地址之间文件或者目录的不同。

   示例: 6 - 备份

   rsync命令可以用来备份linux。

   你可以在cron中使用rsync安排备份。

   0 0 * * * /usr/local/sbin/bkpscript &> /dev/null

   vi /usr/local/sbin/bkpscript

   rsync -avz -e ‘ssh -p2093′ /home/test/ root@192.168.1.150:/oracle/data/

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  2. 我的 RHCA 之路 (累计阅读 14,013)
  3. Linux内存点滴 用户进程内存空间 (累计阅读 13,230)
  4. 给程序员新手的一些建议 (累计阅读 13,089)
  5. Linux 性能监控、测试、优化工具 (累计阅读 13,011)
  6. 关于linux内存free的一些事情 (累计阅读 12,867)
  7. ps - 按进程消耗内存多少排序 (累计阅读 12,688)
  8. Google怎么用linux (累计阅读 12,581)
  9. Linux Used内存到底哪里去了? (累计阅读 11,867)
  10. find命令的一点注意事项 (累计阅读 11,865)