При работе скриптов резервного копирования на Яндекс.Диск (webdav.yandex.ru) переполняется папка с кэшем. Для решения этой проблемы создадим скрипт.
Периодически на жестком диске сервера заканчивалось место. В результате каким-нибудь утром меня встречали не рабочие сайты, а WordPress показывал ошибку «нет соединения с базой данных».
Сначала я думал, что кэш по каким-то случайным причинам не очищается. Оказывается так бывает всегда и сам по себе он никуда очищаться не собирается.
Заходим к себе на сервер через ssh.
Просто чтобы убедиться, что место занято именно кэшем Яндекс.Диска, проверяем размер директории с этим кэшем:
Для решения проблемы переполнения кэша WebDav можно автоматически очищать кэш в папке davfs2.
Добавлять команду в общий скрипт резервного копирования не будем, потому что иначе архив файла не успеет переместиться на Яндекс.Диск. Сделаем скрипт отдельно и вставим его в CRON.
Создаём скрипт для очищения кэша
Заходим в уже знакомую нам директорию:
Создаём файл:
Вставляем содержимое:
find /var/cache/davfs2/ -mindepth 1 -a -print0 | xargs -n 100 -0 rm -rf
Назначаем права доступа на выполнение файлов
Добавляем скрипт в CRON
Открываем CRON файл:
Дописываем в конец файла:
# ежедневно в 8:00
00 8 * * * root /my_scripts/webdav_cache_clear.sh >/dev/null 2>&1
Выходим и сохраняем:
Время удаления кэша назначено на 8 утра, когда все скрипты уже закончат свою работу. У меня на одном сервере находятся сразу несколько сайтов и все они копируются по очереди. Последний скрипт начинает работу в 6 утра и к 8 наверняка успеет перенести всё на Яндекс.Диск.
Спасибо, скрипт пригодился
Спасибо, родной!
Спасибо большое! Помогло!
Ломал голову — почему NAS сервер не может распечатать через принтеры, расшаренные по Samba. Оказалось банально не хватает места в корневом каталоге, а занял всё кэш davfs2.