sabeechen / hassio-google-drive-backup

Automatically create and sync Home Assistant backups into Google Drive
MIT License
2.97k stars 181 forks source link

Google drive backup error #1036

Closed rdperkins closed 1 month ago

rdperkins commented 1 month ago
Description:
If you have anything else that could help explain what happened, click "Markdown" above and write it here.

Addon version: 0.112.1 Home Assistant Version: 2024.4.4 Supervisor Version: 2024.04.4 Supervisor Channel: stable Hassos Version: 12.2 Docker Version: 25.0.5 Architecture: aarch64 Machine: raspberrypi4-64 Date: 2024-05-04T00:39:05.199426+00:00 Timezone: America/New_York Failure Time: 2024-05-03T23:28:08.487305+00:00 Last Good Sync: 2024-05-03T23:28:08.429233+00:00 Next Sync: 2024-05-04T01:28:08.487305+00:00 Next Backup: 2024-05-06T02:12:59.005373+00:00 Next Cache Warm: 2024-05-04T01:15:41.225478+00:00 Time Offset: 0.0

Exception:

  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

Backups:

 {
    "HomeAssistant": {
        "backups": 16,
        "retained": 0,
        "deletable": 16,
        "name": "HomeAssistant",
        "title": "Home Assistant",
        "latest": "2024-05-03T02:12:59Z",
        "max": 16,
        "enabled": true,
        "icon": "home-assistant",
        "ignored": 36,
        "detail": "",
        "size": "3.4 GB",
        "ignored_size": "1.8 GB",
        "free_space": "209.4 GB"
    },
    "GoogleDrive": {
        "backups": 14,
        "retained": 2,
        "deletable": 12,
        "name": "GoogleDrive",
        "title": "Google Drive",
        "latest": "2024-05-03T02:12:59Z",
        "max": 12,
        "enabled": true,
        "icon": "google-drive",
        "ignored": 0,
        "detail": "robtperk@gmail.com",
        "size": "2.6 GB",
        "ignored_size": "0.0 B",
        "free_space": "8.0 GB"
    }
}
Config:
 {
    "Setting.MAX_BACKUPS_IN_HA": 16,
    "Setting.MAX_BACKUPS_IN_GOOGLE_DRIVE": 12,
    "Setting.DELETE_BEFORE_NEW_BACKUP": true,
    "Setting.SEND_ERROR_REPORTS": true
}
Addon Logs:
 05-03 11:28:07 ERROR [backup.model.coordinator] 
  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

05-03 11:28:07 INFO [backup.model.coordinator] I'll try again in 2 hours
05-03 13:16:10 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
05-03 13:16:10 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
05-03 13:28:07 DEBUG [backup.model.syncer] Sync requested by Coordinator
05-03 13:28:07 INFO [backup.model.coordinator] Syncing Backups
05-03 13:28:07 ERROR [backup.model.coordinator] 
  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

05-03 13:28:07 INFO [backup.model.coordinator] I'll try again in 2 hours
05-03 15:17:11 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
05-03 15:17:11 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
05-03 15:28:07 DEBUG [backup.model.syncer] Sync requested by Coordinator
05-03 15:28:07 INFO [backup.model.coordinator] Syncing Backups
05-03 15:28:07 ERROR [backup.model.coordinator] 
  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

05-03 15:28:07 INFO [backup.model.coordinator] I'll try again in 2 hours
05-03 17:15:12 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
05-03 17:15:12 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
05-03 17:28:08 DEBUG [backup.model.syncer] Sync requested by Coordinator
05-03 17:28:08 INFO [backup.model.coordinator] Syncing Backups
05-03 17:28:08 ERROR [backup.model.coordinator] 
  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

05-03 17:28:08 INFO [backup.model.coordinator] I'll try again in 2 hours
05-03 17:30:19 INFO [backup.watcher] A backup directory file was modified, we'll check for new backups soon.
05-03 17:30:30 DEBUG [backup.watcher] Checking backup source for changes...
05-03 18:02:59 INFO [backup.watcher] A backup directory file was modified, we'll check for new backups soon.
05-03 18:03:09 DEBUG [backup.watcher] Checking backup source for changes...
05-03 19:27:14 DEBUG [backup.model.destinationprecache] Preemptively retrieving and caching info from the backup destination to avoid peak demand
05-03 19:27:14 DEBUG [backup.drive.driverequests] Requesting refreshed Google Drive credentials
05-03 19:28:08 DEBUG [backup.model.syncer] Sync requested by Coordinator
05-03 19:28:08 INFO [backup.model.coordinator] Syncing Backups
05-03 19:28:08 ERROR [backup.model.coordinator] 
  addon/backup/model/coordinator.py:198 (_sync)
  addon/backup/model/model.py:260 (sync)
  addon/backup/util/data_cache.py:114 (saveIfDirty)
  addon/backup/util/data_cache.py:86 (save)
  addon/backup/file/jsonfilesaver.py:52 (write)
  addon/backup/file/jsonfilesaver.py:46 (_write)
OSError: [Errno 30] Read-only file system: '/data/data_cache.json.backup'

05-03 19:28:08 INFO [backup.model.coordinator] I'll try again in 2 hours
Supervisor Logs:
 2024-05-03 20:00:56.840 INFO (MainThread) [supervisor.store.git] Loading add-on /data/addons/core repository
2024-05-03 20:00:57.040 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
2024-05-03 20:01:56.752 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:01:56.758 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:03:00.363 INFO (MainThread) [supervisor.updater] Fetching update data from https://version.home-assistant.io/stable.json
2024-05-03 20:03:00.466 ERROR (MainThread) [supervisor.utils.json] Can't write /data/updater.json: [Errno 30] Read-only file system: '/data/tmpf4t8bvwb'
2024-05-03 20:03:12.875 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2024-05-03 20:06:56.748 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:06:56.753 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:11:56.752 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:11:56.759 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:16:56.742 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:16:56.748 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:21:56.760 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:21:56.765 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:26:56.749 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:26:56.754 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:31:56.755 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:31:56.767 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:33:13.192 INFO (MainThread) [supervisor.homeassistant.api] Updated Home Assistant API token
2024-05-03 20:36:56.744 WARNING (MainThread) [supervisor.addons.options] Option 'interface' does not exist in the schema for Samba share (core_samba)
2024-05-03 20:36:56.751 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:37:41.917 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:37:44.717 ERROR (MainThread) [supervisor.utils.json] Can't write /data/addons.json: [Errno 30] Read-only file system: '/data/tmpvh4okcib'
2024-05-03 20:37:44.721 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:37:44.722 ERROR (MainThread) [supervisor.utils.json] Can't write /data/addons/data/486e6e9b_zigbee2mqtt/options.json: [Errno 30] Read-only file system: '/data/addons/data/486e6e9b_zigbee2mqtt/tmp210llfbq'
2024-05-03 20:37:44.722 ERROR (MainThread) [supervisor.addons.addon] Add-on 486e6e9b_zigbee2mqtt can't write options
2024-05-03 20:37:46.551 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2MQTT (486e6e9b_zigbee2mqtt)
2024-05-03 20:39:05.210 INFO (MainThread) [supervisor.api.middleware.security] /supervisor/logs access from cebe7a76_hassio_google_drive_backup
Home Assistant Core Logs:
     return _ConnectionFairy._checkout(self, self._fairy)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 712, in checkout
    rec = pool._do_get()
          ^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/pool.py", line 78, in _do_get
    return super()._do_get()
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 429, in _do_get
    c = self._create_connection()
        ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
    return _ConnectionRecord(self)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 674, in __init__
    self.__connect()
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 914, in __connect
    )._exec_w_sync_on_first_run(self.dbapi_connection, self)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/event/attr.py", line 483, in _exec_w_sync_on_first_run
    self(*args, **kw)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/event/attr.py", line 497, in __call__
    fn(*args, **kw)
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 1391, in _setup_recorder_connection
    assert self.engine is not None
AssertionError
sabeechen commented 1 month ago

This usually happens when your host file system switched to "read-only" modeto protect itself. This usually happens because of either: