Ранее публиковали материал о выгрузке бэкапов 1С в облачное хранилище. Точнее — как настроить синхронизацию выбранной папки на Яндекс.Диск.
Эта схема настроена у одного клиента. Но выяснилось следующее: скрипт резервного копирования держит на жестком диске несколько актуальных копий. Эти файлы успешно синхронизируются, а старые удаляются в Корзину.
По истечение некоторого времени в Корзине образуется множество файлов, пока не заполнится все доступное пространство.
Опаньки — синхронизация останавливается. Новые данные уже не «улетают» в облако.
Конечно же, можно авторизоваться и выполнить очистку вручную. Но такой вариант в перспективе быстро надоест. Надо автоматизировать процесс.
Решение
1. Создание приложения
Авторизуйтесь на https://oauth.yandex.ru/client/new/ и создайте приложение.
Нажмите на кнопку «Зарегистрировать новое приложение» и заполните информацию:
- Название приложения — на ваше усмотрение. Например, «EmptyTrash».
- Платформы — отметьте галку «Веб-сервисы» и нажмите ниже на ссылку «Подставить URL для разработки». При этом, поле «Callback URI» примет значение
https://oauth.yandex.ru/verification_code
- В разделе «Яндекс.Диск REST API» отметьте все разрешения.
- Внизу страницы нажмите на кнопку «Создать приложение».
Результат выполнения команды — регистрация приложения.
2. Получение токена
Перейдите в браузере по следующей ссылке с вашим client_id, полученным при регистрации.
https://oauth.yandex.ru/authorize?response_type=token&display=popup&client_id=вашid
Приложение запросит доступ к вашим данным на Яндексе — нажмите кнопку «Разрешить».
После чего на экране вы увидите токен (комбинация букв и цифр) — сохраните его.
3. Настройка планировщика Windows
Скачайте утилиту 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
Финальный этап — создайте простую задачу в Планировщике и установите триггер (необходимое время запуска).
✅ После выполнения скрипта корзина Яндекс.Диск'а очищается с заданной вами периодичностью в автоматическом режиме.
_____________________________________
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.