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.conf
或rc.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树镜像等。
五、参考资料
- rsync官方站点
- rsync示例集
- rsync常见问题解答
This post is licensed under CC BY 4.0 by the author.