Назад | Перейти на главную страницу

Есть ли способ удалить файл размером 100 ГБ в Linux без прерывания ввода-вывода / загрузки?

У меня есть огромный файл журнала, который мне нужно удалить на рабочем веб-сервере. Я боюсь, что если я буду работать с Linux, это приведет к тому, что система перестанет работать. Есть блестящие идеи?

Обновить:

Файловая система: ext3

Раздел: / var (в основном журналы и данные MySQL)

Файл журнала больше не записывается. (Никаких дополнительных данных не добавляется)

Веб-сервер - LAMP (много операций ввода-вывода)

Возможно, будет быстрее обнулить / обрезать файл, чем удалить его. Я также упоминаю об этом, потому что это действительно большой файл журнала, поэтому в него должно быть записано огромное количество операций процесса. Пытаться : > /path/to/logfile.log если вы не можете остановить и запустить производственные услуги.

ionice -c3 rm yourfile.log - ваш лучший шанс, тогда rm будет принадлежать к классу ввода-вывода в режиме ожидания и использовать ввод-вывод только тогда, когда он не нужен любому другому процессу. ext3 не очень хорош при удалении огромных файлов, и вы мало что можете с этим поделать. Да, команда rm замедлит вашу систему. О степени медленности и продолжительности удаления можно только догадываться, это во многом зависит от оборудования, версии ядра и настроек создания файловой системы ext3.

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

Альтернативное решение - отдельные диски и цикл между ними. Поэтому, когда вы закончили регистрацию на одном диске, вы переключаетесь на другой, а затем вы можете использовать много операций ввода-вывода для удаления материала и не загружать активный диск.