前言

容器化是当前的趋势,文件备份系统网上虽然有很多种,不过使用配置起来并不是很方便,这里将介绍通过自己基于rsync做的一套文件备份系统,容器化配置简单易懂,镜像只有几兆

- 支持保留文件权限

- 支持检查主机资源,资源小于设定值时会优先删除老文件,再备份新文件

- 支持设置每个文件备份的次数

- 支持设置保留文件的天数

- 支持自动注册

部署

1. 安装docker(此处不多做介绍)

a. 通过yum安装:

参考:[官方文档](https://docs.docker.com/install/linux/docker-ce/)

b. 通过二进制安装:

参考:[安装docker](https://www.jianshu.com/p/46b9a351f749)

2. 安装docker-compose

a. 下载最新compose版本

```

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

```

版本发布地址:[https://github.com/docker/compose/releases](https://github.com/docker/compose/releases)

###b. 添加执行权限

```

sudo chmod +x /usr/local/bin/docker-compose

```

###c. 命令补全工具(此步骤可选)

```

sudo curl -L https://raw.githubusercontent.com/docker/compose/1.21.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

```

具体参考:[https://docs.docker.com/compose/completion/](https://docs.docker.com/compose/completion/)

## 3. 配置客户端(用来备份文件的主机)

### a. 创建docker-compose.yaml文件

```

version: '2'

services:

rsync-client:

restart: always

image: commanderhu/rsync-client

container_name: rsync-client

volumes:

- /home/rsync/rsync_backup/:/backup_client/ #左边备份文件存的路径

ports:

- "22023:22"

environment:

- SLEEP_TIME=86400 #单位:秒,每次备份间隔时间,默认为86400

- EXPIRATION_DAY=15 #单位:天,文件保留时间

- MINIMUM_DISK=500 #单位:G,最小磁盘预留空

```

### b. 启动

```

docker-compose up -d

```

### c. 检查

```

docker logs -f rsync-client

```

/home/rsync/rsync_backup路径下会创建空文件rsync_list

## 4. 配置服务端(需要被备份的主机)

### a. 创建docker-compose.yaml文件

```

version: '2'

services:

rsync-server:

restart: always

image: commanderhu/rsync-server

container_name: rsync-server

volumes:

- ./data/:/data/ #左边路径指定需要备份的路径

ports:

- "874:873"

environment:

- RSYNC_IP=ip #本机地址

- RSYNC_PORT=874 #映射端口

- REMOTE_HOST_IP=ip #客户端ip

- REMOTE_HOST_PORT=22023 #客户端端口

```

### b. 启动

```

docker-compose up -d

```

### c. 检查

```

docker logs -f rsync-server

```

此时查看client端的rsync_list文件会自动增加一条记录

### d. 备份

切换到备份机器:

```

docker restart rsync-client

```

备份机等待设定的间隔时间后会将注册的主机备份一遍,同时会保存同步文件和压缩包

备份文件的权限和原文件一致

容器会检查主机资源,资源小于设定值时会优先删除老文件,再备份新文件

可以设置每个文件备份的次数

设置保留文件的天数

## 4. 源码

需要源码的可以私信我

4j设置文件保存天数_文件备份很麻烦,各种工作不知道怎么选择,容器时代的备份方案!...相关推荐

  1. 4j 设置日志保存天数_MySQL中的这几类日志,你一定要知道

    前言: 在 MySQL 系统中,有着诸多不同类型的日志.各种日志都有着自己的用途,通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据.这些不同类型的日志有助于我们更清晰的了解数据库,在日 ...

  2. 通用文件清除脚本,可对多个指定目录按照磁盘空间、文件保存天数进行清理,并可设置目录扫描深度

    common_clear.sh #!/bin/bash######################################################################## ...

  3. iofd:文件描述符_文字很重要:谈论设计时18个有意义的描述符

    iofd:文件描述符 As designers, many of us think we're just visual creatures. But creating visuals is only ...

  4. Python如何设置文件保存位置(txt文件保存位置)

    例如想在当前目录下保存目标文档 那么在写with open操作的时候,按照如下方式写就可以了: file_path = r"C:\Users\lenovo\Desktop\python\ar ...

  5. java建立新文件保存数据_关于java中创建文件,并且写入内容

    packagecom.file.run;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;im ...

  6. 南网elink文件保存位置_南方电网elink

    南方电网elink是一款专门为南方电网的内部员工们打造的线上沟通服务平台,是一款可以协助办公的通讯沟通平台,这款软件只服务于南方电网的内部工作人员,这款软件可以帮助工作人员更好的办公,感兴趣的朋友赶紧 ...

  7. 南网elink文件保存位置_南网elink官网

    南网elink官网是一款专门为业内人员打造的办公工具,而且可以方便内部人员更好的进行通讯,而且还能及时了解到相关的资料和动态,让您拥有了这款软件就能更好的进行办公,更多的有趣功能等您来这里发现哦! 南 ...

  8. 南网elink文件保存位置_南网elink手机版下载-南方电网elink安装包app_5577安卓网

    南方电网elink安装包下载推荐给大家!南网elink手机版是一款专为南方电网内部员工打造的协同办公软件,以通讯,公告,视频会议,办事进度查询等内容为主题,更好的服务员工以及合作伙伴! [软件介绍] ...

  9. 南网elink文件保存位置_南网elink手机版下载-南方电网elink安装包app _5577安卓网...

    南方电网elink安装包下载推荐给大家!南网elink手机版是一款专为南方电网内部员工打造的协同办公软件,以通讯,公告,视频会议,办事进度查询等内容为主题,更好的服务员工以及合作伙伴! [软件介绍] ...

最新文章

  1. 今晚8点直播 | 详讲NLP的经典应用实践——文本分类
  2. 2w字大白话讲解Spring Cloud,必须收藏
  3. 关于利用python进行验证码识别的一些想法
  4. 16、Java Swing JProgressBar:进度条组件
  5. Plyr – 简单,灵活的 HTML5 媒体播放器
  6. Navicat Premium 12.0.24破解
  7. MyBatis 相同事物查询缓存问题
  8. python爬取股票实时价格_【美股量化00篇】Python获取新浪接口美股实时数据
  9. Server 2008 Core/服务器核心环境安装SQL 2008 方法
  10. 微软MS10-046漏洞的利用
  11. JMS学习九 ActiveMQ的消息持久化到Mysql数据库
  12. MNIST数据集处理
  13. ipc (进程间通信
  14. vue axios 简单封装以及思考
  15. Redis基础(八)——集群
  16. Python 进阶篇
  17. JavaScript 获取GET中的值
  18. 【转】O'Reilly Java系列书籍建议阅读顺序(转自蔡学庸)
  19. 三亚三姐,三亚海鲜的代言人
  20. spectral clustering谱聚类论文解读(上)

热门文章

  1. tikz 折线 箭头_问一个关于latex中,使用tikz画图的问题,如何使箭头上方的权值不居中(因为居中会互相重叠)...
  2. linux hbase 表大小,在Linux系统搭建hbase环境
  3. bootstraptable设置行高度_【短柱专题】窗台板为什么要通长设置
  4. Visual studio docker build no such file or directory
  5. python开发之路---第二章之--函数之匿名函数
  6. logging模块介绍
  7. penpyxl basic function demo code
  8. yum 安装包的用法
  9. php 编程祝新年快乐_第一门编程语言选什么好?
  10. 8个球放入3个盒子方式_盒子这样做皮薄如纸,不露馅超好吃,孩子一口气吃好几个...