Недавно обнаружил, что корневой раздел / (он всего 10 Gb) в виртуальной машине с Proxmox Backup Server в Proxmox PVE практически полностью заполнен, невозможно даже установить обновления.
Проверка свободного места:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/pbs-root 8.2G 7.6G 113M 99% /
С помощью du вижу, что каталог /var/log/proxmox-backup/tasks занимает неприлично много места:
du -sh /var/log/proxmox-backup/*
118M /var/log/proxmox-backup/api
2.8G /var/log/proxmox-backup/tasks
Решил, что ничего страшного не произойдет, если вручную удалю все данные, это же всего лишь логи, но после этой процедуры перестало работать резервное копирование с машин PVE. Оказалось, что при удалении каталога tasks, PBS заново создаёт его, но с неправильными правами root:root, и не позволяет в него записывать данные из-под обычного пользователя. Об этом я узнал, когда пошёл на форум Proxmox.
В итоге, на нём же было найдено решение, привожу описание, как я поступил.
1) Единоразово очищаем общий журнал логов:
journalctl --vacuum-size=256M
2) Создаём скрипт:
nano /root/scripts/cleanlogs.sh
#!/bin/bash
# Очистка логов в каталоге "tasks"
set -eu
DAYS=30
# Поиск каталогов старше, чем $DAYS
for FOLDER in $(/usr/bin/find /var/log/proxmox-backup/tasks -type d -mtime +$DAYS)
do
PARENT=$(/usr/bin/dirname $FOLDER)
[[ "tasks" == "$(/usr/bin/basename $PARENT)" ]] && /usr/bin/rm -rf $FOLDER
done
3) Установим разрешения на исполнение:
chmod +x /root/scripts/cleanlogs.sh
4) Добавим запись в cron:
crontab -e
@monthly /root/scripts/cleanlogs.sh
После первого выполнения скрипта объём свободного места увеличился:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/pbs-root 8.2G 4.2G 3.6G 55% /
Проблему я решил, не прибегая к увеличению размера корневого раздела диска.

