Вместо Direct API для резервного копирования Google Takeout (что сейчас практически невозможно сделать) вы можете создавать резервные копии своих данных в сторонних решениях для хранения данных через Google Drive. Многие сервисы Google позволяют создавать резервные копии на Google Диске, и вы можете создавать резервные копии на Google Диске, используя следующие инструменты:
GoogleCL - GoogleCL переносит сервисы Google в командную строку.
gdatacopier - утилиты управления документами командной строки для документов Google.
FUSE Google Drive - файловая система FUSE в пространстве пользователя для Google Drive, написанная на C.
Grive - Независимая реализация клиента Google Drive с открытым исходным кодом. Он использует API Список документов Google для общения с серверами в Google. Код написан на C ++.
gdrive-cli - интерфейс командной строки для GDrive. При этом используется GDrive API, а не GDocs API, что интересно. Чтобы использовать его, вам необходимо зарегистрировать приложение Chrome. Он должен быть как минимум установлен вами, но не должен публиковаться. В репо есть шаблонное приложение, которое вы можете использовать в качестве отправной точки.
пример python-fuse - содержит некоторые слайды и примеры файловых систем Python FUSE.
Большинство из них, кажется, находятся в репозиториях Ubuntu. Я сам использовал Fuse, gdrive и GoogleCL, и все они работают нормально. В зависимости от уровня контроля, который вы хотите, это будет действительно легко или действительно сложно. Это зависит от вас. Это должно быть прямо делать с сервера EC2 / S3. Просто разбирайте команды одну за другой для всего, что вам нужно, и вставляйте их в скрипт для задания cron.
Если вы не хотите работать так усердно, вы также можете просто использовать такой сервис, как Spinbackup . Я уверен, что есть и другие, но не пробовал.
Это частичный ответ с частичной автоматизацией. Он может перестать работать в будущем, если Google решит принять меры по автоматическому доступу к Google Takeout. Функции, которые в настоящее время поддерживаются в этом ответе:
Во-первых, решение «облако в облако» не может работать, поскольку нет интерфейса между Google Takeout и любым известным поставщиком хранилищ объектов. Вы должны обработать файлы резервных копий на своем собственном компьютере (который может быть размещен в публичном облаке, если хотите), прежде чем отправлять их поставщику хранилища объектов.
Во-вторых, поскольку Google Takeout API отсутствует, сценарий автоматизации должен притвориться пользователем с браузером, чтобы пройти через процесс создания и загрузки архива Google Takeout.
Особенности автоматизации
Вход в аккаунт Google
Это еще не автоматизировано. Сценарий должен был бы претендовать на роль браузера и преодолевать возможные препятствия, такие как двухфакторная аутентификация, CAPTCHA и другие расширенные проверки безопасности.
Получить печенье от Mozilla Firefox
У меня есть скрипт для пользователей Linux, который позволяет получать файлы cookie Google Takeout из Mozilla Firefox и экспортировать их как переменные среды. Чтобы это работало, должен быть только один профиль Firefox, и профиль должен был посещать https://takeout.google.com при входе в систему.
Как однострочник:
Как красивее скрипт Bash:
Получить куки из Google Chrome
У меня есть скрипт для пользователей Linux и, возможно, macOS, чтобы получить файлы cookie Google Takeout из Google Chrome и экспортировать их как переменные среды. Сценарий работает при условии, что Python 3
venv
доступен иDefault
профиль Chrome посещен https://takeout.google.com при входе в систему.Как однострочник:
Как красивее скрипт Bash:
Очистить загруженные файлы:
Запросить создание архива
Это еще не автоматизировано. Сценарий должен будет заполнить форму Google Takeout и затем отправить ее.
Расписание создания архива
Пока еще нет полностью автоматизированного способа сделать это, но в мае 2019 года Google Takeout представил функцию, которая автоматизирует создание 1 резервной копии каждые 2 месяца в течение 1 года (всего 6 резервных копий). Это необходимо сделать в браузере по адресу https://takeout.google.com при заполнении формы запроса архива:
Проверьте, создан ли архив
Это еще не автоматизировано. Если архив был создан, Google иногда отправляет электронное письмо в почтовый ящик пользователя Gmail, но в моем тестировании это не всегда происходит по неизвестным причинам.
Единственный другой способ проверить, был ли создан архив, - периодически проверять Google Takeout.
Получить архивный список
У меня есть команда, чтобы сделать это, предполагая, что куки были установлены в качестве переменных среды в разделе «Получить куки» выше:
Результатом является разделенный строкой список URL-адресов, которые приводят к загрузке всех доступных архивов.
Он разбирается с HTML с помощью регулярных выражений .
Скачать все архивные файлы
Вот код в Bash для получения URL-адресов архивных файлов и их загрузки, при условии, что файлы cookie были заданы в качестве переменных среды в разделе «Получить файлы cookie» выше:
Я тестировал его на Linux, но синтаксис должен быть совместим и с macOS.
Объяснение каждой части:
curl
команда с аутентификационными куки:URL страницы, на которой есть ссылки для скачивания
Фильтровать совпадения только по ссылкам для скачивания
Отфильтровать повторяющиеся ссылки
Загрузите каждый файл в списке, один за другим:
Примечание: распараллеливание загрузок (изменение
-P1
на большее число) возможно, но Google, похоже, ограничивает все соединения, кроме одного.Примечание:
-C -
пропускает файлы, которые уже существуют, но может не возобновить загрузку существующих файлов.Шифровать загруженные архивные файлы
Это не автоматизировано. Реализация зависит от того, как вы хотите зашифровать свои файлы, и потребление локального дискового пространства должно быть удвоено для каждого файла, который вы шифруете.
Загрузить загруженные архивные файлы в Dropbox
Это еще не автоматизировано.
Загрузить загруженные архивные файлы на AWS S3
Это еще не автоматизировано, но это просто вопрос перебора списка загруженных файлов и запуска такой команды:
источник
Я нашел этот вопрос, когда искал, как исправить мои фотографии Google, которые не отображаются должным образом на диске Google (который я уже автоматически копирую!).
Итак, чтобы ваши фотографии отображались на диске Google, перейдите на страницу https://photos.google.com и настройте их так, чтобы они отображались в папке на диске.
Затем используйте https://github.com/ncw/rclone, чтобы клонировать весь диск Google (который теперь включает фотографии в качестве «обычного» каталога) в локальное хранилище.
источник