На моем новом сервере (выделенном, CentOs5) 2 или 3 файла .myapp (например, «51b9dc4cc246f.myapp», ~ 500 мес.) Создаются каждую минуту в / tmp, заполняя мой жесткий диск с угрожающей скоростью.
Нет ничего в crontab -e
.
Есть идеи, откуда это может прийти?
большое спасибо
Я понятия не имею, что будет создавать файлы, но вы пытаетесь запустить термоэлемент на том, который создается, чтобы узнать, какой процесс их создает, и работать с PID.
fuser -v /tmp/51b9dc4cc246f.myapp
мы надеемся дать вам некоторую информацию, которую вы можете использовать, например
fuser -v /var/run/crond.pid
USER PID ACCESS COMMAND
/var/run/crond.pid: root 1698 F.... crond
который показывает нам, что пользователь root запускает crond с PID 1698, в котором для записи открыт файл /var/run/crond.pid (F).
Проверьте, в каком процессе открыт файл .myapp от имени пользователя root:
lsof | grep -i myapp
Это может дать вам ключ к разгадке.
Если нет, то изучите еще немного, проверьте, какой это тип файла:
file 51b9dc4cc246f.myapp
Если это текст, просто откройте его с меньшими затратами. Если не использовать строки, чтобы увидеть, есть ли в нем что-нибудь читаемое:
strings 51b9dc4cc246f.myapp | less
Если это не имеет никакого отношения к разгадке, я готов оставить цикл работающим, желательно в сеансе экрана с командой lsof, каждую минуту или меньше.
while [ true ]; do lsof | grep -i myapp; sleep 30; done
Удачи!
Другие ответы здесь рекомендуют fuser или lsof, и это технически лучшее решение. Однако эти инструменты могут быть утомительными, поэтому есть альтернатива, которая может быть быстрее.
Создание такого количества файлов потребует значительного времени обработки.
Беги сверху. Сортировать по загрузке ЦП. Понаблюдайте несколько минут. Процесс, который записывает такое количество файлов, скорее всего, будет в 3-4 верхних потребителях ЦП. Чтобы проверить, попробуйте останавливать каждый процесс по очереди. Уходит ли плохое поведение?