Post

rsync:系统管理员的备份利器

rsync:系统管理员的备份利器

摘要

系统管理员的日常工作重点在于维护系统稳定运行并提供服务,其中数据备份尤为关键。尽管许多管理员对服务器安全性关注不足,但对备份技术却兴趣浓厚。鉴于商业产品成本高昂,自由软件如rsync成为理想选择。本文将详细介绍rsync的特性、使用方法及实用脚本。

一、特性简介

rsync是一款在类Unix系统下进行数据镜像备份的工具,具备以下特性:

  • 支持镜像整个目录树和文件系统。
  • 保持文件原有权限、时间戳、软硬链接等。
  • 无需特殊权限即可安装。
  • 高效的文件传输效率。
  • 支持多种传输方式,包括rcp、ssh及直接socket连接。
  • 支持匿名传输。

二、使用方法

系统环境示例

  • Server: FreeBSD 4.3, IP: 192.168.168.52
  • Client: Solaris 8, IP: 192.168.168.137
  • rsync版本: 2.4.6(最新版本可从官方站点获取)

配置Server端

编辑/etc/rsyncd.conf文件,配置相关模块和认证信息。

密码文件生成

在Server端生成密码文件,如/etc/inburst.pas,并确保文件权限仅限属主读取。

启动rsync服务

以守护进程方式启动rsync,可通过修改inetd.confrc.local实现自启动。

客户端测试

使用rsync命令从客户端同步数据,包括使用-vzrtopg等参数保持文件属性,并可通过-e ssh建立加密连接。

创建更新脚本

利用脚本语言简化复杂任务,例如创建备份脚本/usr/local/bin/rsync.sh

定时备份

通过修改/etc/crontab实现定时备份任务。

三、常见问题解答(FAQ)

如何通过SSH使用rsync无需输入密码?

通过SSH密钥认证,将公钥添加至~/.ssh/authorized_keys实现无密码登录。

如何安全地通过防火墙使用rsync?

根据服务器位置(防火墙内外),配置SSH及用户认证,限制IP地址,或开放特定端口。

如何备份更改或删除的文件?

使用-backupdir参数将更改或删除的文件存储至指定目录。

需要开放哪些端口?

根据rsync工作方式(直接或通过SSH),可能需要开放873端口或22端口。

其他常见问题

  • 只复制目录结构忽略文件的方法。
  • 解决“Read-only file system”错误。
  • 解决“@ERROR: invalid gid”错误。
  • 处理端口绑定失败问题。
  • 认证失败的解决方案。

四、实用脚本示例

提供多个实用脚本,包括增量备份、备份至空闲硬盘、CVS树镜像等。

五、参考资料

This post is licensed under CC BY 4.0 by the author.