LINUX.ORG.RU
решено ФорумAdmin

Копирование файлов в папку фиксированного размера

 , , ,


0

2

Добрый день! Возникла необходимость создания папки фиксированного размера на виртуалке Linux Ubuntu и расшарить ее на Win7. Все вроде бы получилось, но возникает следующая проблема: если в папке остался 1Гб свободного места а я пытаюсь скопировать туда файл размера 2Гб, копирование проходит наполовину, после чего автоматически начинается заново. Как сделать так, чтобы при недостатке места файл не копировался, а сразу выдавало ошибку? В идеале хотелось бы сделать следующее: при недостатке места для нового файла, удалялись самые старые файлы, ровно столько, чтобы в папку вместился новый файл

Заранее спасибо всем, кто откликнется!

Копирование не знает о размере исходного файла и знать не должно. Судя по твоему уровню подготовки:

Возникла необходимость создания папки фиксированного размера

Создай ее на разделе фиксированного размера

<испортить копирование>

ты заблуждаешься

<сносить какие-попало данные>

ты даже не представляешь насколько...

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Не могли бы вы подробнее описать в чем и на сколько я заблуждаюсь? Какие вообще есть варианты решения и есть ли они вообще?

yunus1k ()
Ответ на: комментарий от yunus1k

Ты требуешь от файловых систем поведения, которое в них не закладывали.

Либо ты меняешь задачу (тебе вообще точно нужна файловая система?), либо, не знаю, пишешь proxy filesystem с использованием fuse, либо какого-то быстрорасчищающего демона, либо учитывающую твои пожелания утилиту для копирования и копируешь только ей (и, видимо, без параллельного копирования)... либо признаешься, что задачу ты выдумал для личных утех и извращений и тебе тупо нужен диск побольше и немного выдержки и самоконтроля все те три дня, которые ты этим будешь пользоваться. Выбирай.

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1 )

Сделай раздел и храни все файлы в корзине. При копировании нового старые будут удаляться.

greenman ★★★★★ ()

Напиши демона, который будет удалять старые файлы, когда все вместе они занимают 90% (или сколько там удобно, чтоб любые файлы влезли) от заданного порога.

Psych218 ★★★★★ ()
Ответ на: комментарий от anonymous

xfs позволяет задать квоту на директорию. Не знал?

так я и спрашиваю: loop device или квоты ? :)
при том xfs тут до тебя вообще не упоминалась...

vasya_pupkin ★★★★★ ()
Последнее исправление: vasya_pupkin (всего исправлений: 1 )
Ответ на: комментарий от anonymous

ну можно попробовать создать loop device нужного тебе размера, тогда самба на этапе начала копирования должна давать отлуп. По крайней мере у меня давным давно такое прокатывало на ext3

vasya_pupkin ★★★★★ ()
Последнее исправление: vasya_pupkin (всего исправлений: 1 )
Ответ на: комментарий от vasya_pupkin

Что такое квота в твоем понимании? user-quota, group-quota? Что другое?

anonymous ()
Ответ на: комментарий от t184256

еще один с xfs?

А что? В отличие от других, в xfs есть еще и quota на директорию, а не только user/group quota

anonymous ()
Ответ на: комментарий от anonymous

Что такое папка?

Сирота? Бе-е-едненький.

anonymous ()
Ответ на: комментарий от t184256

Создай ее на разделе фиксированного размера

Необязательно. Можно создать файл, отформатировать и через loop подмонтировать. Тогда не будет проблем с определением свободного места на устройстве, и mc при попытке копирования слишком больших файлов будет писать: «на устройстве кончилось место».

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Как будто я не знаю. Вот этого:

Судя по твоему уровню подготовки

не приметил?

Тогда не будет проблем с определением свободного места на устройстве, и mc при попытке копирования слишком больших файлов будет писать: «на устройстве кончилось место».

А с отдельным разделом типа будет?

mc

при чем тут вообще mc?

t184256 ★★★★★ ()
Ответ на: комментарий от anonymous

пятизвёздные виндузятники вконец оборзели

Ага, двухзвёздочному виндузятнику не дают прохода.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.