Google Drive, автоматическое удаление файлов старше 7 дней в определенной папке - PullRequest
0 голосов
/ 14 сентября 2018

Я использую Google диск для хранения своей ежедневной резервной копии с моей машины linux. Но мне нужен скрипт, который автоматически удаляет файлы в определенной папке через 7 дней. Чтобы в папке было 7 резервных копий.

Файл, который получает резервную копию, называется world - $ (date +% d-% m-% Y) .tar.gz он заменяет% d% m и% Y на день, месяц и год создания резервной копии. так скажем, он создал его сегодня, он будет называться world-14-09-2018.tar.gz он хранится в папке с именем backups

Можно ли как-нибудь автоматически удалить файлы, чтобы не хранить их внутри корзины, а полностью удалить их через 7 дней.

Я не очень знаком с такими сценариями. Так что, если бы кто-нибудь мог мне помочь, это было бы действительно здорово.

1 Ответ

0 голосов
/ 17 сентября 2018

Вы хотите использовать REST API для Google Диска.Существуют официальные клиентские библиотеки на нескольких языках, перечисленные здесь здесь

Аутентифицируйте свою учетную запись через OAuth2.В зависимости от используемой вами клиентской библиотеки для этого есть разные инструменты.Я наиболее знаком с Python SDK и использую Google oauth2client .Команда run_flow () - это простой способ получить токен обновления OAuth2, который затем можно использовать для аутентификации вызовов API. Здесь - это полная документация для аутентификации на Google Диске через OAuth2.

После аутентификации вы можете позвонить на конечную точку список файлов .По умолчанию это будет список всех файлов на вашем диске.Вы можете ограничить поиск только этими файлами, чтобы вам не приходилось каждый раз перебирать все ваши файлы, используя поисковый запрос .Если у вас больше резервных копий, чем умещается на одной странице (не похоже, особенно с максимальным размером страницы 1000), вам придется разбить на страницы ваших звонков.

Затем вы можете отфильтровать результаты по имени файла (как вы указали) или по параметру созданного времени в файле files.list в вашем коде.Убедитесь, что вы создали в своих полях созданное время, установив параметр полей в список параметров, разделенных запятыми, то есть «файлы (идентификатор, созданный время, имя, mimeType)» или просто «*», чтобы получить каждое поле.Получите список всех файлов старше 7 дней, затем позвоните files.delete .Затем вы можете запускать этот сценарий для задания cron каждую ночь, однако вы хотите его развернуть.

В качестве альтернативы вы можете использовать неофициальный инструмент командной строки Drive , который позаботится оМногое для тебя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...