Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами своего труда :)
Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой ерунды нет желания.Можно как-то создать файл и сделать из него раздел?
1. Создать файл нужного размера. (dd или mkfile)
2. Отформатировать его под нужную файловую систему.
3. Смонтировать.
Всё...
> 1. Создать файл нужного размера. (dd или mkfile)
> 2. Отформатировать его под нужную файловую систему.
> 3. Смонтировать.
> Всё...Подробней опишу сам:
1. Создать файл нужного размера
убедиться, что имеется в наличии свободное место для файла:
df -hсобственно, создаем файл:
dd if=/dev/zero of=/part1 bs=1G count=10
где:
/dev/zero – специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов (ASCII NUL, 0×00)
of=/part1 – файл который создаем
bs=1G – размер блока, 1ГигаБайт (вместо G может быть: К-КБайт, М-МБайт, G-ГБайт)
count=10 – количество блоков
В результате мы получили заданный файл, размером 1G*10=10 ГигаБайт.Если создается файл большого размера, то операция может выполняться достаточно долго.
Отследить прогресс увеличения размера файла можно с другом терминальном окне:
watch -n 10 ls -lh /part12. Отформатировать его под нужную файловую систему.
mkfs -t ext3 /part1
где:
ext3 - тип ФС подставляем выбранную файловую систему (reiserfs, ext3, jfs, xfs ...)
/part1 – файл который создали в п.13. Смонтировать.
Создаем точку монтирования:
mkdir /mnt/megadrive
и даём директории полные права:
chmod 770 /mnt/megadrive
И монтируем:
mount -o loop -t ext3 /part1 /mnt/megadriveЕсли все нормально добавляем монтирование в /etc/fstab
> Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами
> своего труда :)
> Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были
> минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой
> ерунды нет желания.
> Можно как-то создать файл и сделать из него раздел?Можно включить квотирование на разделе где лежит файл и выставить юзеру (которому даны права на файл) квоту.
> Можно включить квотирование на разделе где лежит файл и выставить юзеру (которому
> даны права на файл) квоту.К сожалению, забивает раздел root.
> Есть глючная программа, которая изредка зацикливается и забивает весь диск результатами
> своего труда :)
> Хочу создать отдельный раздел под нее, чтобы последствия деятельности этой программы были
> минимальными, но отдельно выделять жесткий диск или переразбивать рабочий из-за такой
> ерунды нет желания.
> Можно как-то создать файл и сделать из него раздел?И?
1) долбить тех. кто эту уродину написал
2) погуглить на счет ФС proc и отталкиваясь оттуда с привязкой к конкретному дистрибутиву (какому кстати?) ограничить возможность использования данной прогой определенных ресурсов системы. благо механизмов в новых системах на эту тему туева хуча.
> И?
> 1) долбить тех. кто эту уродину написал
> 2) погуглить на счет ФС proc и отталкиваясь оттуда с привязкой к
> конкретному дистрибутиву (какому кстати?) ограничить возможность использования данной
> прогой определенных ресурсов системы. благо механизмов в новых системах на эту
> тему туева хуча.Это анализатор логов squid free-sa.
Все дело в том, что глюк проявляется достаточно редко - не чаще 1 раза в год, его отловить достаточно сложно. Как раз для того, чтобы система полностью не умерала и можно было спокойно проанализировать ситуацию - я и сделал для free-sa отдельный раздел.Как альтернативный вариант вижу настройку квот пользователя, но это делается несколько дольше, а с отдельным разделом как-то наглядней получается, да и перенастраивать особо ничего не надо :)
У меня это крутится на Ubuntu, ФС ext4.
Если можете предложить что-то более интересное для решения вышеописанной проблемы - пишите.
>[оверквотинг удален]
> Это анализатор логов squid free-sa.
> Все дело в том, что глюк проявляется достаточно редко - не чаще
> 1 раза в год, его отловить достаточно сложно. Как раз для
> того, чтобы система полностью не умерала и можно было спокойно проанализировать
> ситуацию - я и сделал для free-sa отдельный раздел.
> Как альтернативный вариант вижу настройку квот пользователя, но это делается несколько
> дольше, а с отдельным разделом как-то наглядней получается, да и перенастраивать
> особо ничего не надо :)
> У меня это крутится на Ubuntu, ФС ext4.
> Если можете предложить что-то более интересное для решения вышеописанной проблемы - пишите.Могу предложить использовать крон и простенький скриптик, проверяющий размер файла и сжимающий/удаляющий/перемещающий куда-либо его в случае превышения лимита.
Либо освоить syslog и logrotate - да, это дольше, но это правильный подход именно системного администратора, а не велосипедостроителя-самоучки.
Пример скриптика:
#!/bin/shLOG="/var/log/free-sa.log"
if [ $(stat -c %s ${LOG}) -gt 52428800 ]; then
gzip -9 ${LOG} && echo "Compressed succesfully"
else
echo "Size is still OK"
fiВ данном случае лог сжимается, если более 50M.
>[оверквотинг удален]
> подход именно системного администратора, а не велосипедостроителя-самоучки.
> Пример скриптика:
> #!/bin/sh
> LOG="/var/log/free-sa.log"
> if [ $(stat -c %s ${LOG}) -gt 52428800 ]; then
> gzip -9 ${LOG} && echo "Compressed succesfully"
> else
> echo "Size is still OK"
> fi
> В данном случае лог сжимается, если более 50M.Спасибо, конечно, но вы бы прочитали для начала в чем суть проблемы. А проблема в том, что в один прекрасный момент, один из процессов создает файл и начинает быстро писать в него до тех пор пока место не закончится. syslog и logrotate это из другой оперы