🐹 Яндекс.Диск: Как автоматически очистить корзину Яндекс.Диск из-под CentOS 7?

Содержание:

1. Постановка задачи.
2. Регистрация приложения.
3. Настройка планировщика.
4. Оригиналы источников информации.


1. Постановка задачи.

В процессе сохранения резервных копий на Яндекс.Диск новые копии создаются, старые удаляются. Если на сервере удаление происходит немедленно, то но на Яндекс.Диске оно убирается в корзину и там лежит 1 месяц до автоудаления самим Яндексом

Настроить другой временной период нельзя, так как Яндекс переживает, что глупые пользователи сами всё ц себя постирают и потом будут их осаждать глупыми вопросами «вернуть всё в зад»! Если хотите чистить корзину раньше, то чистити её руками и сами несите ответственность за уничтоженную информацию.

Для умных пользователей есть  интересный способ всё автоматизировать с помощью Регистрации приложения, это специальная служба Яндекс для разработчиков различных приложений, которая позволяет взаимодействовать таким приложениям с Яндекс.Диском. Этим мы и сейчас воспользуемся, для автоматизации освобождения корзины от старых ненужных копий нашей информации — разработаем своё приложение!

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

Перейдем по ссылке https://oauth.yandex.ru/ и зарегистрируем новое приложение. Нажимаем Зарегистрировать новое приложение.

Заполняем анкету Создания приложения. Назовем приложение ‘mycleantrash‘ (1), придумаем описание приложения (2), сделаем ссылку на свой сайт (3).

Переходим в раздел Платформы. Выбираем Веб-сервисы (1) + кликаем на Подставить URL для разработки (2), появится строка с URL. Нам в пустое поле добавится автоматическая ссылка.

Прокручиваем страничку вниз по ходу общего текста. Переходим в раздел Доступы. Все галочки в разделе Яндекс.Директ REST API ставим на ‘активно‘.

Как все нажмем, мотаем ниже до Создать приложение.

Нам будет сгенерирована служебная информация про Приложение.

Войдите на Яндекс с учетной записью пользователя, к аккаунту которого приложение должно запросить доступ.

Перейдите по ссылке следующего вида:

https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>

где,

  • <идентификатор приложения> — это длинная вереница символов из предыдущего скриншота.

Разрешаем использовать нашу учетную запись.

В итоге нам дадут токен:

Запомним его!

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

Создаем sh скрипт и используем полученный ранее токен в нём. Далее этот скрипт будем запускать с помощью cron.

# mcedit /home/user_name/mycleantrash.sh

Вот эти строки:

#!/bin/sh
/usr/bin/curl -s -H "Authorization: OAuth VASH_TOKEN" -X "DELETE" https://cloud-api.yandex.net/v1/disk/trash/resources/?path=
# Отправляем себе письмо об окончании мероприятия по резервному копированию сайта.
# echo "Внимание! Отправка письма на ящик системного администратора."
# echo "Очистка корзины на Яндекс.Диске завершено." | mail -s "Sony - Очистка корзины на Яндекс.Диске." adminemail@yandex.ru
# echo "Отправка письма на ящик системного администратора выполнена."

где VASH_TOKEN — это токен, который вы получили в яндексе — например: MDweQBOCk9Os4HBpH4hCuUGivaSpauR7.

Еще сюда можно прикрутить оповещение на почту! Как сделать возможность получать письма с сервера описано в статье: «CentOS 7: Postfix 3 для отправки электронной почты с внутреннего системного «почтового ящика».

Чтобы выполнить скрипт в указанной оболочке, нужно установить для него флаг исполняемости. Для этого используется команда chmod +x и имя файла скрипта:

# chmod +x /home/user_name/mycleantrash.sh

Если вы не хотите писать полный путь к скрипту, это можно сделать, достаточно переместить скрипт в одну из папок, которые указаны в переменной PATH. Одна из них, которая предназначена для ручной установки программ – /usr/local/bin.

# ln -s /home/user_name/mycleantrash.sh /usr/local/bin/mycleantrash.sh

Ограничим в правах, на этот файл, других пользователей:

# сhmod 700 /home/user/mycleantrash.sh

Ставим в /etc/crontab:

# mcedit /etc/crontab

Эту строку:

10 4 * * * root /usr/bin/bash /home/user/mycleantrash.sh > /dev/null 2>&1

Теперь каждый день в 1 час 1 минуту ночью скрипт будет очищать вашу корзину на Яндекс.Диске.

Внимание! Срок работы приложения и ключа 1 год. Не забудьте потом создать новый ключ и новое приложение!

4. Оригиналы источников информации.

  1. yandex.ru «Регистрация приложения».
  2. yandex.ru «Отладочный токен».
  3. adminvam.ru «Автоматическая очистка корзины Яндекс диска».

Читайте также: