文档章节

Kubernetes jobs:使用rsync建立定期备份任务

openthings
 openthings
发布于 2018/09/09 21:19
字数 552
阅读 79
收藏 1

Kubernetes中的job和cronjob可用于批处理和定时任务。这里,我们使用其建立集群级别的文件备份机制。

这里使用rsync进行文件的同步。为了远程登录到服务器,使用sshpass(参见 Ubuntu上使用sshpass远程脚本免密安全交互 )进行远程访问。结合了sshpass的rsync命令如下:

SSHPASS='yourPasswordHere' rsync --rsh="sshpass -e ssh -l username" server.example.com:/var/www/html/ /backup/

我们将其写入一个脚本,然后放到Docker容器中去执行,该容器被作为job的执行引擎。为此:

  • 部署
    • 需要编写一个Dockerfile,安装rsync和sshpass。
      • 挂载备份的目标卷。
      • 同时,挂载一个配置卷(或者放在Redis之类的存储里面)。
        • 将sshpass的password、username@target等放在里面。
        • 做一个备份的任务清单,可以顺序执行或者并行地执行。
    • 编写一个job的定义文件,从配置卷(或共享数据存储)读取任务信息,然后执行备份。
      • 通过rsync和sshpass读取数据,并存储到备份卷上。
    • 编写一个job的定义文件,从配置卷(或共享数据存储)和备份数据卷读取任务信息,然后执行备份恢复操作。
  • 备份
    • 直接运行job进行备份。
    • 修改cronjob的执行周期,自动定时备份。
  • 恢复
    • 读取备份数据卷,恢复到原始位置。

使用上面的机制,可以在多个节点间同步文件。

把上面安装的工具改为wget,也可以用来下载(定期下载、更新)需要的文件。

 

© 著作权归作者所有

openthings
粉丝 324
博文 1140
码字总数 689435
作品 1
东城
架构师
私信 提问
Kubernetes中使用CronJob定时备份etcd集群数据

Kubernetes中使用CronJob定时备份etcd集群数据 注意:这里的内容已经过时! 使用kubernetes1.12.3和etcd3.2.24请参考 Kubernetes的etcd探秘-状态数据备份 。 kubernetes中部署的应用的信息都...

openthings
2018/09/09
404
3
ssh-key 免密码验证分发、管理、备份指南笔记02

ssh-key 免密码验证分发、管理、备份指南02 1.备份需求分析 要求所有服务器在同一用户xiaoping系统用户下,实现B.A机器从本地备份数据到C机器上,在备份过程 中不需要C的提示系统密码验证。 ...

jiaohuanji88
02/18
0
0
rsync远程同步

**----在远程同步任务中,负责发起rsync同步操作的客户机被称为发起端,而负责相应来自客户机的rsync同步操作的服务器成为同步源。----在同步过程中,同步源负责提供文档的原始位置,发起段应...

李佳良
2018/01/07
0
0
rsync+inotify实现服务器之间文件实时同步

之前做了“ssh信任与scp自动传输脚本”的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时、不停的产...

chaun
2016/04/27
122
0
linux服务器 rsync同步源的搭建实例

系统版本: CentOS 6.5 rsync软件版本:rsync-3.0.6-9 rsync(Remote Sync)是一款开源的快速备份工具,可以在不同主机之间镜像整个目录树,支持增量备份,保持连接和权限,且采用优化的同步...

睿睿学IT
2016/03/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

可能是国内第一篇全面解读 Java 现状及趋势的文章

作者 | 张晓楠 Dragonwell JDK 最新版本 8.1.1-GA 发布,包括全新特性和更新! 导读:InfoQ 发布《2019 中国 Java 发展趋势报告》,反映 Java 在中国发展的独特性,同时也希望大家对 Java 有...

阿里云官方博客
3分钟前
0
0
Spring Boot 2.x基础教程:Swagger静态文档的生成

前言 通过之前的两篇关于Swagger入门以及具体使用细节的介绍之后,我们已经能够轻松地为Spring MVC的Web项目自动构建出API文档了。如果您还不熟悉这块,可以先阅读: Spring Boot 2.x基础教程...

程序猿DD
6分钟前
0
0
《毅力》读书笔记

1.确信你全身心地投入 2.准备好为目标进行艰难的跋涉 3.通过减少需要使用毅力的情形,为将来的挑战做好准备 4.尽可能具体细致地确定你的目标和实现目标的过程 5.把挑战分解为小而易于管理的小...

lingch
7分钟前
1
0
zk中快速选举FastLeaderElection实现

选举涉及概念 服务器状态 投票 如何选择投票? 协议 选举 如何进行选举? epoch 发送者 接收者 发送队列 接收队列 服务器状态 public enum ServerState { LOOKING,寻找Leader状态,当服务处于...

writeademo
10分钟前
0
0
教你玩转Linux—磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题,Linux磁盘管理常用三个命令为df、du和fdisk。 df df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少...

Linux就该这么学
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部