Очистка Yandex.Disk

30-05-2022

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

Для этого нужно авторизоваться на Яндексе под тем аккаунтом, который используется для доступа к Яндекс.Диску. Затем переходим по ссылке: https://oauth.yandex.ru и регистрируем приложение.

При создании приложения в адресной строке нужно удалить /id

Адрес будет выглядеть так - https://oauth.yandex.ru/client/new

Yandex.Disk

Для приложения указываем Название и Описание.

Yandex.Disk

Ниже ставим галочку Веб-сервисы и нажимаем на ссылку Подставить URL для разработки, в поле Callback URL автоматически появится адрес.

Yandex.Disk

Еще ниже, в разделе Яндекс.Диск REST API включаем все опции доступа.

Yandex.Disk

 В самом низу нажимаем кнопку Создать приложение.

Yandex.Disk

Здесь интересует ID-приложения. Для получения токена, сформируем ссылку:

https://oauth.yandex.ru/authorize?response_type=token&display=popup&cli…

В качестве ID используем полученное на предыдущем шаге значение. Переходим по ней и подтверждаем предоставление доступа.

Yandex.Disk

После чего появится 40-символьная строка - токен, сохраним его в надежном месте.

Переходим к написанию скрипта очистки корзины, для его работы нам понадобится curl, его можно установить командой:

sudo apt-get install curl

Создадим скрипт:

touch scripts/yandex_trash.sh

Добавим в него:

#!/bin/bash
curl -s -H "Authorization: OAuth TOKEN" -X "DELETE" https://cloud-api.yandex.net/v1/disk/trash/resources/?path=

TOKEN - строка полученного токена.

Затем сделаем файл исполняемым:

chmod +x /home/drhellp/scripts/yandex_trash.sh

После чего его можно вызывать с помощью cron после создания бэкапов.

# clear yandex.disk
# ежедневно в 2:40
40 2 * * * root /home/drhellp/scripts/yandex_trash.sh >/dev/null 2>&1

Источники: