closed
logo logo
关于我们

技术分享

技术分享 Kubernetes jobs:使用rsync建立定期备份任务

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

2019-06-11

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的执行引擎。为此:

  • 部署

    • 通过rsync和sshpass读取数据,并存储到备份卷上。

    • 挂载备份的目标卷。

    • 同时,挂载一个配置卷(或者放在Redis之类的存储里面)。

    • 将sshpass的password、username@target等放在里面。

    • 做一个备份的任务清单,可以顺序执行或者并行地执行。

    • 需要编写一个Dockerfile,安装rsync和sshpass。

    • 编写一个job的定义文件,从配置卷(或共享数据存储)读取任务信息,然后执行备份。

    • 编写一个job的定义文件,从配置卷(或共享数据存储)和备份数据卷读取任务信息,然后执行备份恢复操作。

    • 备份

      • 直接运行job进行备份。

      • 修改cronjob的执行周期,自动定时备份。

    • 恢复

      • 读取备份数据卷,恢复到原始位置。

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

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

     

    云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
    • 标签:
    • 容灾备份

    您可能感兴趣的新闻 换一批

    现在下载,可享30天免费试用

    立即下载

    请添加好友为您提供支持
    jia7jia_7

    请拨打电话
    为您提供支持

    400-9955-698