NAS: 100%-я система (ядро) использование CPU

Можно сделать что-то вроде:

#! /usr/bin/env python

device = '/dev/sdi'
old_pattern = "MyPassWord"
new_pattern = "XXXXXXXXXX"

assert len (old_pattern) == len(new_pattern)

BS = 1024 ** 2  # 1 Mb buffer
# read a few bytes more to account for occurences of the pattern on the edge
READSIZE = BS + len(old_pattern)

offset = 0
with open(device, 'r+b') as fp:
    assert isinstance(fp, file)
    while True:
        try:
            fp.seek(offset)
        except IOError:
            #print 'offset', offset
            #raise
            break
        buf = fp.read(READSIZE)
        occurences = buf.count(old_pattern)
        if occurences:
            print offset, occurences
            fp.seek(offset)
            fp.write(buf.replace(old_pattern, new_pattern))
            fp.flush()
        offset += BS

замены соответствующего имени устройства сверху.

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

0
01.03.2015, 11:43
1 ответ

Я думаю, что проблема там DF -H

Один из ваших дисков полностью загружен.

Все, что вам нужно, это LSOF | GreeP удален |. Меньше

Это поможет вам понять, какие файлы были удалены, и «хранится в памяти» процессами.

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

1
28.01.2020, 02:51

Теги

Похожие вопросы