Автоматическая очистка корзины Yandex.Disk без участия человека

от автора

Озаботившись бэкапами на своем скромном сервере я столкнулся с очевидным дальнейшим шагом — а где все это добро хранить?

Выбора особо нет да и у меня есть халявный Яндекс Диск на котором со всеми бонусами у меня аж 63 Гб, грех не воспользоваться.

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

Давайте потратим минут 10-15 и на год забудем о проблеме, поехали.

Вводные данные на чем у меня все работает:

Ubuntu 18.04 Yandex.Disk консольный клиент для одноименного дистрибутива

  1. Зайдем под тем логином из по которого работает ваш ЯД по адресу https://oauth.yandex.ru/ и нажмем кнопочку Зарегистрировать новое приложение

  2. Заполняем поля как указано на скриншоте

  3. В пункте Доступы выберите Яндекс Диск REST API и поставьте галочки как на скриншоте

  4. Спускаемся в самый низ страницы и жмем кнопку Создать приложение

  5. В полученной странице есть все необходимые нам данные, обязательно сохраните их (PS мои реальные данные я удалил но сохранил вам на скрине для наглядности, у вас они будут другие)

  6. Получим токен, зайдем браузером по адресу https://oauth.yandex.ru/authorize?response_type=token&display=popup&client_id=ВАШid где в самом конце укажем ID полученный в шаге 5

  7. На этой странице жмем Разрешить

  8. На этой странице увидим выданный токен, обязательно сохраните его!

  9. Зайдем в консоль вашего сервера под рутом и создадим скрипт

    nano /root/yadisk.sh

    В котором пропишем следующие команды

    #!/bin/sh /usr/bin/curl -s -H "Authorization: OAuth ваш_токен" -X "DELETE" https://cloud-api.yandex.net/v1/disk/trash/resources/?path=

    где на месте ваш_токен внесем данные из шага 8

  10. Сохраним скрипт и сделаем его исполняемым

    chmod 700 /root/yadisk.sh

  11. Дадим команду crontab -e
    в открывшемся окне напишем

    0 3 * * * /root/yadisk.sh > /dev/null 2>&1

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

Ну вот и все, я дольше писал статью и делал скриншоты чем вы все это сможете реализовать у себя 🙂
Маленький совет — я решил очищать корзину ДО того как будет запускаться следующий мой скрипт, который бэкапит базы данных моих сайтов, таким образом я могу быть чуть более спокоен что места на диске хватит для моих данных.

Если хотите убедиться что вы все сделали правильно то можете просто запустить эту команду в консоли

/usr/bin/curl -s -H "Authorization: OAuth ваш_токен" -X "DELETE" https://cloud-api.yandex.net/v1/disk/trash/resources/?path=

(не забудьте в эту строку внести ваш_токен)
и убедиться что корзина вашего аккаунта пуста.

На этом разрешите откланяться.

ссылка на оригинал статьи https://habr.com/ru/post/537960/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *