Найти тему
Digital

Очистка корзины Яндекс.Диск в автоматическом режиме

Оглавление

Ранее публиковали материал о выгрузке бэкапов 1С в облачное хранилище. Точнее — как настроить синхронизацию выбранной папки на Яндекс.Диск.

Эта схема настроена у одного клиента. Но выяснилось следующее: скрипт резервного копирования держит на жестком диске несколько актуальных копий. Эти файлы успешно синхронизируются, а старые удаляются в Корзину.

Очистка корзины Яндекс.Диск в автоматическом режиме
Очистка корзины Яндекс.Диск в автоматическом режиме

По истечение некоторого времени в Корзине образуется множество файлов, пока не заполнится все доступное пространство.

Опаньки — синхронизация останавливается. Новые данные уже не «улетают» в облако.

Конечно же, можно авторизоваться и выполнить очистку вручную. Но такой вариант в перспективе быстро надоест. Надо автоматизировать процесс.

Решение

1. Создание приложения

Авторизуйтесь на https://oauth.yandex.ru/client/new/ и создайте приложение.

Регистрация приложения на OAuth-сервере
Регистрация приложения на OAuth-сервере

Нажмите на кнопку «Зарегистрировать новое приложение» и заполните информацию:

  • Название приложения — на ваше усмотрение. Например, «EmptyTrash».
  • Платформы — отметьте галку «Веб-сервисы» и нажмите ниже на ссылку «Подставить URL для разработки». При этом, поле «Callback URI» примет значение
https://oauth.yandex.ru/verification_code
Заполнение поля Callback URI
Заполнение поля Callback URI
  • В разделе «Яндекс.Диск REST API» отметьте все разрешения.
Опции доступа Яндекс.Диск REST API
Опции доступа Яндекс.Диск REST API
  • Внизу страницы нажмите на кнопку «Создать приложение».
Создать приложение
Создать приложение

Результат выполнения команды — регистрация приложения.

Регистрация приложения
Регистрация приложения

2. Получение токена

Перейдите в браузере по следующей ссылке с вашим client_id, полученным при регистрации.

https://oauth.yandex.ru/authorize?response_type=token&display=popup&client_id=вашid

Приложение запросит доступ к вашим данным на Яндексе — нажмите кнопку «Разрешить».

Разрешение доступа
Разрешение доступа

После чего на экране вы увидите токен (комбинация букв и цифр) — сохраните его.

3. Настройка планировщика Windows

Скачайте утилиту Curl по ссылке и распакуйте содержимое архива в выбранную папку на локальном диске рабочей станции/сервера.

Учтите разрядность вашей операционной системы для загрузки программы.

Загрузка Curl
Загрузка Curl
Например, «C:\Scripts\Curl»

Создайте bat-файл C:\Scripts\emptytrash.bat со следующим содержимым:

@echo off
START /B
C:\Scripts\Curl\bin\curl.exe -s -H "Authorization: OAuth ваштокен" -X "DELETE" https://cloud-api.yandex.net/v1/disk/trash/resources/?path=
exit

, где "ваштокен" — токен, который вы получили на шаге 2.

Другой вариант обращения к серверу Яндекса через указание порта 443. В этом случае скрипт выглядит так:

@echo off
START /B C:\Scripts\Curl\bin\curl.exe -s -H "Authorization: OAuth ваштокен" -X "DELETE" https://cloud-api.yandex.net:443/v1/disk/trash/resources/?path=
exit

Вариант для vbs-скрипта

Set WshShell = CreateObject("WScript.Shell" )
WshShell.Run chr(34) & "C:\Scripts\emptytrash.bat" & Chr(34), 0
Set WshShell = Nothing

Финальный этап — создайте простую задачу в Планировщике и установите триггер (необходимое время запуска).

Итог выполнения emptytrash.bat
Итог выполнения emptytrash.bat

✅ После выполнения скрипта корзина Яндекс.Диск'а очищается с заданной вами периодичностью в автоматическом режиме.

_____________________________________

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.