当前位置:首页 > 新鲜资讯 > 记录使用电报群来做 docker 项目的备份网盘

记录使用电报群来做 docker 项目的备份网盘

1年前 (2024-08-26)admin新鲜资讯75

现在很多项目会使用 docker 部署,我最常用的 docker 项目是 uptime-kuma 和 umami。之前运行亚马逊云 AWS 的 light sail 上,三个月的试用期马上就到了,前几天发现谷歌云长期免费服务器,每月200GB流量也够折腾。所以打算把 uptime-kuma 这个 docker 项目迁移到谷歌云上,迁移和备份过程如下:

文章目录

  • 1 1、提取原主机 uptime-kuma 的数据文件
  • 2 2、将提取的数据文件转移至新主机,部署项目
  • 3 3、备份到电报群组

1、提取原主机 uptime-kuma 的数据文件

得益于之前部署 uptime-kuma 项目的时候将项目的数据文件挂载到宿主机目录,所以提取数据文件很简单。以下是原 docker-compose.yml 文件内容:

services:
  uptime-kuma:
    image: louislam/uptime-kuma
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma:/app/data
    ports:
      - 3001:3001

可看出之前已将 /app/data 中的数据挂载到宿主机的 ./uptime-kuma 目录中,这就方便了,来到项目目录路径 /uptime-kuma 下,执行如下代码,进行压缩,取名为backup.tar.gz。

tar -czf backup.tar.gz uptime-kuma

2、将提取的数据文件转移至新主机,部署项目

将步骤1中的备份文件通过 FTP 或 SCP 传到新主机,这次为了以后迁移更加方便,直接将项目部署在 /var/docker/uptime-kuma 目录,参考如下 docker-compose.yml 文件内容:

services:
  uptime-kuma:
    image: louislam/uptime-kuma
    container_name: uptime-kuma
    volumes:
      - /var/docker/uptime-kuma:/app/data
    ports:
      - 3001:3001

所以要提前创建 /var/docker/uptime-kuma 目录,同时将备份的压缩文件上传到该目录下。

mkdir -p /var/docker/uptime-kuma

操作完成后,在 /var/docker/uptime-kuma 目录下直接运行:

docker-compose up -d

完成项目部署,直接在浏览器打开http://ip+端口3001,如果恢复的成功,则是直接登录的窗口,如失败,会是让你创建账号的窗口。这点可以判断是否恢复成功。

3、备份到电报群组

提前准备好电报机器人的API和频道ID,然后按如下操作:

在 /var/docker/uptime-kuma 目录下创建 backup.sh 脚本

cd /var/docker/uptime-kuma
nano backup.sh

拷贝以下脚本内容到 backup.sh 文件中:

#!/bin/bash

# Telegram Bot API token
token="替换为你的电报机器人 API "

# Chat ID of the group
chat_id="替换为你电报的频道ID"

# 定义备份目录
backup_dir="/backup"

# 创建一个备份目录(如果不存在)
mkdir -p "$backup_dir"

# 备份docker_volumes目录中的数据到备份目录
cp -r /var/docker/uptime-kuma "$backup_dir"

# 压缩备份文件夹
timestamp=$(date +"%Y-%m-%d_%H-%M-%S")
backup_file="docker_uptime_kuma_$timestamp.tar.gz"
tar -czf "$backup_dir/$backup_file" -C "$backup_dir" uptime-kuma

# 发送备份文件到电报群组
curl -F chat_id="$chat_id" -F document=@"$backup_dir/$backup_file" "https://api.telegram.org/bot$token/sendDocument"

给 backup.sh 添加执行权限:

chmod + x backup.sh

然后在当前目录执行如下命令:

bash back.sh

此时,如果电报群组中收到了备份文件,则说明成功,否则,再仔细检查一下,是否哪里出了问题。

既然手动执行可行,那么我们完全可以加入到系统自动执行命令中,我们输入:

crontab -e

首次执行,会要求选择编辑器,我习惯了 nano,直接选择1即可。

之后,我们在打开的文件中添加:

0 8 * * * /bin/bash /var/docker/uptime-kuma/back.sh

这句代码的意思是在每天早上八点会自动执行该脚本,如果担心哪里有误,可以先将时间改为测试的下一分钟,看是否执行成功,然后再改为一个固定的时间点。

好了,这就是今天的分享。如果大家有更为方便好用的方法或是其它好玩的项目,可以分享给我哟。

欢迎大家订阅电报频道:豪鲁斯兴趣网播报  和公共社区:豪鲁斯兴趣网论坛 。

感谢打赏支持

豪鲁斯兴趣网论坛油管频道电报频道电报聊天

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1775

分享给朋友:

“记录使用电报群来做 docker 项目的备份网盘” 的相关文章

土耳其 iCloud 再次迎来翻倍涨价,土区居民哭了,数字土耳其人何去何从

土耳其 iCloud 再次迎来翻倍涨价,土区居民哭了,数字土耳其人何去何从

2024 年 8 月 21 日消息,土耳其 iCloud 价格再次迎来翻倍涨价。来自苹果官网的最新价格为价(兑换人民币的价格以博客发表时的汇率为准): 50GB:24.99 里拉/月 ~ 5.26元200GB:79.99 里拉/月 ~ 16.82元2TB:249.99 里拉/月 ~ 52.57元6T...

写博客突然给我带来了压力,直到我看到一篇 innei 独立博客的内容释然了

写博客突然给我带来了压力,直到我看到一篇 innei 独立博客的内容释然了

写博客,是发自内心的,没有人的逼迫的,是想写什么就写什么的,我可以写下一遍技术的文章,不管写的好坏,至少是我经历过的,当然如果能够得到读者的称赞,那也是每个作者感到庆幸的。或许有一段时间内,我会产出比较多的文章, 再或者有很长的时间我没有任何产出,我不必为此感到焦虑。这不是任务,只是一种乐于分享的精...

如何查询Apple App Store在不同国家(如土耳其、尼日利亚等)的应用及订阅价格?

如何查询Apple App Store在不同国家(如土耳其、尼日利亚等)的应用及订阅价格?

大家好,我是兔哥。今天我们来聊一个实用的小技巧:如何轻松查询Apple App Store(如土耳其、尼日利亚等)在不同国家的应用及订阅价格。相信很多朋友都有过这样的经历:听说某些国家的App订阅价格特别便宜,但又不知道怎么查询。今天,我就来教大家一个简单又实用的方法!文章目录1 全球数字订阅服务的...

停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(转)

停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(转)

分享一篇来自于 chuck 关于新闻是信息垃圾食品的博文,作者将新闻与我们的常见的食品类比,觉得蛮有道理,和大家分享。原文为英文,有兴趣的可以点击阅读原文。下面是通过 AI 翻译过后的中文内容。近年来,停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(尽管两者并不互斥)。减少摄入这些本...

为什么信用卡被称为“银行中最赚钱的产品”以及维萨万事达卡是如何赚钱?

为什么信用卡被称为“银行中最赚钱的产品”以及维萨万事达卡是如何赚钱?

大家好,我是兔哥。最近,网络上看到一张关于 VISA/Master 维萨万事达卡如何赚钱的支付流程图,想和大家分享一下为什么信用卡被称为“银行中最赚钱的产品”以及 VISA/Master 维萨万事达卡是如何赚钱的。我们一起来看看吧。文章目录1 信用卡的利润来源2 VISA 和 Mastercard...

如何在 iPhone 或 Mac 上使用兑换码(促销代码)兑换付费应用

如何在 iPhone 或 Mac 上使用兑换码(促销代码)兑换付费应用

大家好,我是兔哥。今天我们来聊一个实用的话题:如何在 iPhone 或 Mac 上使用兑换码(促销代码)兑换付费应用。经常在网上看到一些应用的开发者发放应用兑换码给大家,一般来说,都是针对新开发的应用,开发者做出的活动。这些应用在应用商店都是付费应用,使用开发者提供的兑换码(促销代码)便可以免费下载...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。