LINUX.ORG.RU

Выполнить очистку содержимого некоторых каталогов при ребуте/выключении

 , , ,


1

1

Друзья, имеется следующая проблема: хотелось бы, чтобы на расчетном сервере автоматически стирались все временные файлы в некотором каталоге (назовем его /scratch). Туда пишет временные файлы программа для расчетов. Понятно, что если сервер перезагружают, сохранять эти временные файлы нет смысла (все, что имеет смысл сохранять по ходу, программа сохраняет в рабочий каталог). Как *правильнее* идеологически и алгоритмически сделать это. Сервер под CentOS 5, sysV sysinit. Пока я вижу решение так: написать скрипты, которые бы выполнялись на runlevel 0 и 6, которые выполняют очистку и поместить ссылки на них в /etc/rc0.d и /etc/rc6.d. Может есть еще какие-то идеи или может есть какие подводные камни?

★★★★★

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

Что-нибудь в духе ln /tmp/ srctach, если нет доступа к исходникам, конфигам или поправить самому.

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

Подозреваю, что временные файлы такого объема - мусор, тормозящий все на свете. Удаляй по крону. Ну и теоретически, программам сигналы завершения при выключении посылаются-перехвати и удаляй

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

Подозреваю, что временные файлы такого объема - мусор, тормозящий все на свете. Удаляй по крону.

Коэффициенты МО и атомные интегралы — мусор? Ты не забывай, о чем речь идет. Смысл в том, что если расчет прерван, их все равно пересчитывать надо, но прерывание расчета ребутом приводит к тому, что они там остаются и засирают место.

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

временных файлов легко и 100 набежать может

swap

zolden ★★★★★
()

написать скрипты, которые бы выполнялись на runlevel 0 и 6, которые выполняют очистку и поместить ссылки на них в /etc/rc0.d и /etc/rc6.d.

Вполне годное решение.

Chaser_Andrey ★★★★★
()

А почему, собственно, ты хочешь чистить все при выключении, а не при загрузке, из какого-либо rc.local, или что там в CentOS?
Когда-то очистка /tmp при загрузке была непременной частью sysVinit, так что можно было бы также поискать и добавить нужный каталог к очищаемым.
Заодно не будут заботить падения/нештатные выключения.

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

А почему, собственно, ты хочешь чистить все при выключении, а не при загрузке, из какого-либо rc.local, или что там в CentOS?

Можно и так, конечно. Просто при выключении кажется более логичным. С другой стороны, если какая-то часть временных файлов переживет перезагрузку — не беда, удалятся в следующий раз.

unanimous ★★★★★
() автор топика

Идеологически правильно, чтобы программа при завершении работы сама удаляла временные файлы.
Идеологически правильный костыль, как уже сказали, — скрипты включения/выключения компа.

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

runlevel 0 и 6

Вообще очистка временных файлов обычно производится при загрузке (в дистрибутивах, где это из коробки).

anonymous
()

При каждом поднятии форматируй ФС (/scratch) и монтируй в /scratch

Это будет быстрее (если нужно стереть миллионы файлов) и надежнее.

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

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

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