使用 rsync 工具备份
2019-08-22 00:56
2086 查看
rsync 是一个远程快速增量备份的工具,支持本地、ssh、rsync 主机同步。
rsync 是 Linux/Unix 系统默认安装的基本组件之一,所以不需要我们手动安装。
[root@mysql /]# rpm -q rsync rsync-3.0.9-17.el7.x86_64
rsync 程序不带配置文件,所以我们需要自行编写:
[root@mysql /]# vim /etc/rsyncd.conf ....... 省略部分内容 uid = nobody gid = nobody use chroot = yes // 禁锢在源目录 address = 192.168.1.10 // 监听地址,可省略掉 port 873 // 监听端口 log file = /var/log/rsyncd.log // 指定日志文件位置 pid file = /var/run/rsyncd.pid // 存放进程 ID 的文件位置 [mysql] // 共享模块名称 path = /usr/local/mysql/data // 源目录的路径 comment = aaaa // 描述,可省略掉 read only = no // 是否为只读,no为读取写入都可以 dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 // 同步时不再压缩的文件类型 auth users = zs // 授权账户 secrets file = /etc/rsyncd_users.db // 存放账户信息的数据文件
rsync 拥有属于自己的账号文件,所以只需要在账号文件中写入账号信息即可:
[root@mysql /]# vim /etc/rsyncd_users.db zs:123.com // :前为用户名,后为密码 [root@mysql /]# chmod 600 /etc/rsyncd_users.db # 账号采用的是明文存放,因此调整文件权限是有必要的
备份用户需要对源目录 /usr/local/mysql/data 有相应的读取权限:
[root@mysql /]# chmod -R 755 /usr/local/mysql/data/ [root@mysql /]# ll -d /usr/local/mysql/data/ drwxr-xr-x 5 mysql mysql 160 Aug 21 15:15 /usr/local/mysql/data/
启动 rsync 服务程序,运行参数为“ --daemon”
[root@mysql /]# rsync --daemon # 启动 若要关闭 rsync 服务,可以采用 kill 进程的方式: [root@mysql /]# kill $(cat /var/run/rsyncd.pid) # 停止
在本地中使用:
[root@localhost /]# rsync /etc/passwd /opt/ # 在本地中的这命令,个人感觉没毛用,还不如直接 cp 复制 [root@localhost /]# rsync -rl /etc/passwd /opt/ # -r 表示递归整个目录树 -l 用来备份链接文件
下载(下行):
[root@localhost backup]# rsync -avz zs@192.168.1.10::mysql /backup/ Password: // 输入密码 或 [root@localhost /]# rsync -avz rsync://zs@192.168.1.10/mysql /backup/ Password:
上传(上行):
[root@localhost /]# rsync -avz /backup/ zs@192.168.1.10::mysql Password: // 如果backup后的/ 没有,则表示将这个目录上传,如果有则表示上传这个目录中的文件
rsync 的一些常用备份选项:
在实际生产环境中的备份工作往往是按照计划重复执行的,所以需要一个任务计划:
[root@localhost /]# vim /etc/server.pass # 为了在同步过程中不用输入密码,所以创建一个密码文件 123.com [root@localhost /]# chmod 600 /etc/server.pass # 配置权限 [root@localhost /]# crontab -e 30 22 * * * /usr/bin/rsync -avz --delete --password-file=/e tc/server.pass zs@192.168.1.10::mysql /backup [root@localhost /]# systemctl status crond.service # 确保服务已经启动 ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since 四 2019-08-22 00:37:47 CST; 13min ago Main PID: 1005 (crond) CGroup: /system.slice/crond.service └─1005 /usr/sbin/crond -n
相关文章推荐
- Linux中使用数据备份同步工具Rsync的实例教程
- Linux系统下远程同步备份工具Rsync使用详解
- Linux系统下超强远程同步备份工具Rsync使用详解
- Linux系统下超强远程同步备份工具Rsync使用详解
- Linux远程备份工具Rsync使用案例
- Linux系统下超强远程同步备份工具Rsync使用详解
- Linux远程备份工具Rsync使用案例
- rsync远程同步——使用rsync备份工具
- [转载]Linux系统下超强远程同步备份工具Rsync使用详解
- Linux系统下超强远程同步备份工具Rsync使用详解
- Linux远程备份工具Rsync使用案例
- macOS: rsync版本3.1.2安装使用以及其他备份工具
- linux下使用rsync工具实现turbomail邮件服务器的增量备份
- Linux远程备份工具Rsync使用案例
- Linux远程备份工具Rsync使用案例
- 使用rsync同步网路备份第1/2页
- 文件备份同步工具—rsync
- 如何使用RSYNC在服务器间镜像或者备份目录和文件
- 使用Rsync进行服务器的备份
- 使用SQL BAK Reader 小工具查看SQL Server备份文件内容(不需要打开SQL Server)