前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 rsync 工具备份

使用 rsync 工具备份

作者头像
小手冰凉
发布2019-09-10 10:50:39
6900
发布2019-09-10 10:50:39
举报
文章被收录于专栏:小手冰凉

rsync 是一个远程快速增量备份的工具,支持本地、ssh、rsync 主机同步。 rsync 是 Linux/Unix 系统默认安装的基本组件之一,所以不需要我们手动安装。

代码语言:javascript
复制
[root@mysql /]# rpm -q rsync
rsync-3.0.9-17.el7.x86_64
使用 rsync 工具备份
使用 rsync 工具备份

rsync 程序不带配置文件,所以我们需要自行编写:

代码语言:javascript
复制
[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 拥有属于自己的账号文件,所以只需要在账号文件中写入账号信息即可:

代码语言:javascript
复制
[root@mysql /]# vim /etc/rsyncd_users.db 
zs:123.com                   // :前为用户名,后为密码
[root@mysql /]# chmod 600 /etc/rsyncd_users.db       # 账号采用的是明文存放,因此调整文件权限是有必要的 

备份用户需要对源目录 /usr/local/mysql/data 有相应的读取权限:

代码语言:javascript
复制
[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”

代码语言:javascript
复制
[root@mysql /]# rsync --daemon                     # 启动
若要关闭 rsync 服务,可以采用 kill 进程的方式:
[root@mysql /]# kill $(cat /var/run/rsyncd.pid)    # 停止

在本地中使用:

代码语言:javascript
复制
[root@localhost /]# rsync /etc/passwd /opt/               # 在本地中的这命令,个人感觉没毛用,还不如直接 cp 复制
[root@localhost /]# rsync -rl /etc/passwd /opt/                   # -r 表示递归整个目录树   -l 用来备份链接文件

下载(下行):

代码语言:javascript
复制
[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: 

上传(上行):

代码语言:javascript
复制
[root@localhost /]# rsync -avz  /backup/  zs@192.168.1.10::mysql
Password:                                  // 如果backup后的/ 没有,则表示将这个目录上传,如果有则表示上传这个目录中的文件

rsync 的一些常用备份选项:

使用 rsync 工具备份
使用 rsync 工具备份
使用 rsync 工具备份
使用 rsync 工具备份

在实际生产环境中的备份工作往往是按照计划重复执行的,所以需要一个任务计划:

代码语言:javascript
复制
[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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档