专栏首页小手冰凉使用 rsync 工具备份

使用 rsync 工具备份

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于 Centos 7 搭建Nginx(包含虚拟主机)

    Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请...

    小手冰凉
  • K8s——MySQL实现数据持久化

    5、创建pod+svc(service) 这个pod是提供的MySQL服务,并将其映射到宿主机,可以做和client端通信

    小手冰凉
  • 二进制部署MySQL5.7

    小手冰凉
  • LNMP环境下搭建yum的方法分析

    今天弄了下socket扩展,把我原来的环境搞坏掉了 posix这个扩展被我搞坏掉了 唉 所以从新装一下

    砸漏
  • The user specified as a definer ('wx_root'@'%') does not exist 解决方案

    今天项目优化过程中,mysql有个问题The user specified as a definer ('wx_root'@'%') does not exis...

    执笔记忆的空白
  • MySQL中查看InnoDB状态的一个小技巧

    MySQL中如果要查看InnoDB的状态,如果想看到更完整的信息,毫无疑问就是命令show engine innodb status。

    jeanron100
  • 区块链源码学习 : obc-peer 环境搭建 ( 一 )

    配置开发环境当前开发环境使用 varant 来运行一个 ubuntu 镜像,ubuntu 中运行着 docker 容器。主机 -> ubuntu -> dock...

    Star先生
  • 人类蛋白免疫组化表达数据库

    我们在进行基因的蛋白表达检测的时候,通常的方法是进行western blot以及免疫组化进行检测的。对于这两个实验都是需要提前买抗体进行检测的,但是抗体又贵,如...

    医学数据库百科
  • MGR环境构建中需要考虑的细节(二)

    安装软件的目录为:/usr/local/mysql-5.7.25-linux-glibc2.12-x86_64

    jeanron100
  • 内容感知编码可能是8K交付的关键

    本文来自the broadcast bridge,由AMGMedia的Michael Grotticelli编辑,文章主要内容是“内容感知编码可能是成本效益高的...

    用户1324186

扫码关注云+社区

领取腾讯云代金券