『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 19645|回复: 262

[技术讨论] 全自动!备份快照+上传云端教程(另附云端方案汇总)

  [复制链接]

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
发表于 2022-2-11 12:02:03 | 显示全部楼层 |阅读模式
本帖最后由 tangli159 于 2022-2-12 22:26 编辑

                      ↑
上面的目录点击跳转到相应内容。


前排问一下有没有人知道怎么写出这个帖子[基础教程] 篇六:有些硬件太小众了怎么自己写插件  这样的目录导航啊

移动端用户请务必用浏览器桌面模式查看该贴!不然精心排版全乱了!有目录的!


HA自带快照功能进行备份,但是这个过程并不能全自动,且备份的文件只存在本地。哪天整个硬件嗝屁了就非常的不安全,还是上传到云端双保险为好。

  • 我以webdav举例讲怎么自动备份并上传到云端(这部分为原创内容)。
  • 汇总一下我查到的其他备份教程,方便大家根据自己情况进行选择。

游客,如果您要查看本帖隐藏内容请回复















评分

参与人数 3金钱 +50 HASS币 +20 收起 理由
SilverWolf + 20 厉害了word楼主!
虫虫不咬人 + 10 感谢楼主分享!
+ 20 + 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
 楼主| 发表于 2022-2-11 12:02:04 | 显示全部楼层
本帖最后由 tangli159 于 2022-2-11 12:05 编辑

https://github.com/Sebclem/hassio-nextcloud-backup

有web界面,也支持自动备份,省了很多事情,但是我没用过nextcloud!太遗憾了。
2022-02-11_120445.png

回复

使用道具 举报

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
 楼主| 发表于 2022-2-11 12:02:05 | 显示全部楼层
本帖最后由 tangli159 于 2022-2-11 11:49 编辑

https://github.com/shaonianzhentan/ha_file_explorer
这个插件也有备份的功能,支持七牛云。我没用过。


1.安装方法为,先进入HA的ssh界面,输入
python3.9 -m pip install qiniu

手动安装好七牛云的依赖。
2.添加自定义源到HACS,安装文件管理器 ,重启。
3.刷新界面。
4.集成里面安装文件管理器,添加配置。

回复

使用道具 举报

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
 楼主| 发表于 2022-2-11 12:02:06 | 显示全部楼层
本帖最后由 tangli159 于 2022-3-6 21:33 编辑

github地址:auto-backup

1.hacs里面搜索 auto backup 下载安装,重启。
下载.png

下载1.png
2.集成里面添加auto backup
在 Home Assistant 2021.3.0 及更高版本上,您可以点击这里自动开始设置。
3.选项。
  • 自动删除过期备份
  • 备份超时上限,默认20分钟

下载2.png
至此已经配置完成。可以在loveplace里面添加。

说实话这个检测备份数我也有点迷,后续再了解下到底是个啥

说实话这个检测备份数我也有点迷,后续再了解下到底是个啥


我们去了解一下有哪些服务吧,具体的可以去github看。github版本是没有汉化的,我自己随手汉化了一下。
想了一下合并也只能自动识别配置集成那几句英文,大头是服务。如果显示为双语有的人看着会不舒服,就不合并了。需要的自己去下载汉化文件。


下载3.png
下载4.png
4.怎么才能让它实现自动备份呢?作者提供了一些自动化参考。你可以根据自己的习惯进行设置,自定义程度挺高的。
https://github.com/jcwillox/hass-auto-backup#examples
https://github.com/jcwillox/hass-auto-backup#automation
作者提供的参考都是写到配置文件里面的,不方便在HA里面进行随时修改,我贴出我的配置。
alias: 执行每周备份
trigger:
  - platform: time
    at: '23:45'
condition:
  - condition: time
    weekday:
      - mon
action:
  - service: auto_backup.backup_full
    data:
      name: 每周自动备份:{{ now().strftime('%Y年%m月%d日%X,%A') }}
      keep_days: 28




注意事项:
1.name这里可以自定义,后面的日期可以参考此处填写喜欢的。
2.自定义的文件名字,只会表现在HA的快照里面显示,在HA的backup文件夹还是只会生成默认的随机字符。参考此处

alias: 马上备份
action:
  - service: auto_backup.backup_full
    data:
      keep_days: 2
alias: 自动备份失败通知
trigger:
  - platform: event
    event_type: auto_backup.backup_failed
action:
  - service: persistent_notification.create
    data:
      title: 备份失败
      message: |-
        Name: {{ trigger.event.data.name }}
        Error: {{ trigger.event.data.error }}


如果你有配置HA推送信息到微信、钉钉等平台,继续在服务里面添加即可。

举个例子,我用的推送平台是tg,调用tg的通知服务发送信息。由于tg默认Markdown,标题加粗就用了*。
怎么接入我改天再写。
- service: notify.tgbot
data:
message: 正在执行HA备份,请稍等。/备份失败,请及时查看原因。
title: '*来自HA的推送*'
最终tg收到的效果:
下载5.png
5.自动化写好后最好执行测试一下哦。另外生成快照需要一定时间,你接到推送的时候其实备份才开始运行,要几分钟后才能看到生成的快照。如果没有接到失败通知应该就可以放心了吧hh。












回复

使用道具 举报

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
 楼主| 发表于 2022-2-11 12:02:07 | 显示全部楼层
本帖最后由 tangli159 于 2022-2-27 18:16 编辑

https://github.com/jcwillox/hassio-rclone-backup

支持的网盘列表以及配置文件写法
                    ↓
https://rclone.org/


支持的网盘多得只能长截图

支持的网盘多得只能长截图


安装方法:
1.Supervisor配置 → Add-on store 加载项商店→ 右上角  ⋮   → 仓库 →添加源https://github.com/jcwillox/hassio-rclone-backup
2.安装rclone。
3.查看文档。
2022-02-11_104357.png
文档里面对哪些选项可填,哪些选项怎么设置有详细说明。
可以清楚地看到该add-on支持排除或者指定文件夹同步功能。


4.配置网盘。

作者举例的是谷歌网盘。

[google]
type = drive
scope = drive
token = REDACTED
; immediately delete backups instead of sending them to the trash
use_trash = false

[hassbackup]
type = crypt
remote = google:Backup/Home Assistant
filename_encryption = off
directory_name_encryption = false
password = REDACTED
password2 = REDACTED

可以看到支持加密。


我这里用webdav来举例子。
网盘的配置文件在HA的config目录下的rclone.conf。
webdav的配置文件填写参考https://rclone.org/webdav/ 。其他网盘的配置文件在rclone支持网盘列表那点config就能跳转查看了。
根据配置文件参考发现它主要支持这几种webdav:
  • "nextcloud"
    • Nextcloud
  • "owncloud"
    • Owncloud
  • "sharepoint"
    • Sharepoint Online, authenticated by Microsoft account
  • "sharepoint-ntlm"
    • Sharepoint with NTLM authentication, usually self-hosted or on-premises
  • "other"
    • Other site/service or software




我就是用的nas上的webdav,没有其他这些花里胡哨的协议。
我准备把快照备份在NAS\WebDav\HassioBackup(为避免错误请提前新建该文件夹),所以我的配置文件为:
[NAS]                                                 #可自定义
type = webdav
url = https://ip:port/webdav             #请根据自己情况进行修改!/webdav不是必须的,别照抄
user = 用户名
pass = 密码                        #不知道为什么我直接填密码提示解密什么错。正好我电脑上也挂载了rclone,直接把电脑上rclone加密后的密码填上去反而对了
vendor = other

此处容易出现密码解密错误,解决方案请看楼里


5.填写配置。
在第3步的配置界面填写。
2022-02-11_104434.png
我的配置,仅供参考。
schedule: 0 0 * * *                                     #别照抄
command: sync
sources:
  - /backup
destination: NAS:/HassioBackup              #别照抄!冒号前为rclone.conf的第一行名称,冒号后为准备备份的文件夹名称
include: []
exclude: []
flags: []
dry_run: false
config_path: /config/rclone.conf
disable_rename: false
disable_undo_rename: false

2.0更新后的配置
jobs:
  - name: Sync Daily Backups
    schedule: 7 0 * * *
    command: sync
    sources:
      - /backup
    destination: NAS:/HassioBackup
    include: []
    exclude: []
    flags: {}
dry_run: false
config_path: /config/rclone.conf
disable_rename: false
disable_undo_rename: false


根据文档里面的说明+自己的使用习惯进行填写即可。


(1)易错点1
第一行的计划任务如果你写不来,请自行搜索crontab写法。
后续你查看日志发现没有在你指定的时间运行备份,多半是因为你对crontab的时间理解错了!!!
另外间隔时间的写法看下面,记得加“”!

每五分钟执行  */5 * * * * 【写配置的时候需要加"",即"*/5 * * * *"】


百度贴出来的一些示例解释有问题,所以最好去https://crontab.guru/这个网站看看你写的到底对不对。

2022-02-11_105944.png


比如网上说0 * * * *指的是每个小时运行,但实际上为整点数运行。我截图时为10:59分,但你看网页显示下次运行时间为11:00,再下次12:00。

(2)易错点2
destination: NAS:/HassioBackup是根据第4步我准备放置的文件夹设置的。
冒号前为rclone.conf的第一行名称,冒号后为准备备份的文件夹名称。冒号必不可少。
如果一开始的url我没有写/webdav,那么此处我就该写NAS:webdav/HassioBackup。如果我要存在根目录,此处应为destination: 'NAS:'

6.一切都填写好保存重启后,你就可以静静地等待定时的时间到来,查看日志是否正常运行即可~

至此,你就可以享受你的全自动备份快照生活啦~和丢数据说byebye!



回复

使用道具 举报

10

主题

133

帖子

954

积分

高级会员

Rank: 4

积分
954
金钱
821
HASS币
0
发表于 2022-2-11 12:50:27 | 显示全部楼层
回复

使用道具 举报

16

主题

151

帖子

1062

积分

金牌会员

Rank: 6Rank: 6

积分
1062
金钱
906
HASS币
30
 楼主| 发表于 2022-2-11 12:53:57 | 显示全部楼层
imwyh 发表于 2022-2-11 12:50
https://bbs.hassbian.com/thread-14531-1-1.html
毛遂自荐我的方案

我帮你贴上去
回复

使用道具 举报

0

主题

18

帖子

111

积分

注册会员

Rank: 2

积分
111
金钱
93
HASS币
0
发表于 2022-2-11 13:20:10 | 显示全部楼层
感谢,非常有用!
回复

使用道具 举报

15

主题

636

帖子

2179

积分

金牌会员

Rank: 6Rank: 6

积分
2179
金钱
1543
HASS币
0
发表于 2022-2-11 13:49:34 | 显示全部楼层
大佬这排版,可真牛大了。。。
回复

使用道具 举报

32

主题

1992

帖子

5063

积分

论坛元老

Rank: 8Rank: 8

积分
5063
金钱
3071
HASS币
50
QQ
发表于 2022-2-11 22:39:07 | 显示全部楼层
谢谢分享。
我不生产技术,我只是技术的搬运工。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-25 14:46 , Processed in 5.677100 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表