Как проверить, какие файлы записываются приложением?

просто замените/sbin/reboot условной перезагрузкой

[ -r /noreboot ] || /sbin/reboot 

затем, если Вы не хотите перезагружать, просто касаться/noreboot, и Вы хороши, независимо от того, что сценарий делает в то время, пока он еще не перезагрузил.

также можно просто загрузить систему с livecd и прокомментировать строку перезагрузки в rc.local при нахождении ошибки.

3
23.05.2015, 04:12
2 ответа

Брендан Грегг IOSNOOP (часть его Perf-Tools ) предоставит вам подробную информацию о ввод / выводе приложения; Например:

# ./iosnoop
Tracing block I/O... Ctrl-C to end.
COMM             PID    TYPE DEV      BLOCK        BYTES     LATms
supervise        1809   W    202,1    17039968     4096       1.32
supervise        1809   W    202,1    17039976     4096       1.30
tar              14794  RM   202,1    8457608      4096       7.53
tar              14794  RM   202,1    8470336      4096      14.90
tar              14794  RM   202,1    8470368      4096       0.27
tar              14794  RM   202,1    8470784      4096       7.74
tar              14794  RM   202,1    8470360      4096       0.25
tar              14794  RM   202,1    8469968      4096       0.24
tar              14794  RM   202,1    8470240      4096       0.24
[...]

(пример взятый из его блогов ).

Вы можете использовать его, чтобы проследить все ввода / вывода вашей системы, как указано выше, или ограничить его одному процессу, устройство ...

6
27.01.2020, 21:10

Вы можете попробовать inotify (часто упакованы Intifify Tools , поскольку ядро ​​2.6). Он будет контролировать часть вашей файловой системы и сообщает вам о таких событиях, как создание / удаление файлов или каталогов.

Простое использование было бы:

inotifywait -m -r /tmp/

тогда, когда возникает активность файловой системы, вы увидите:

#=> I'm creating /tmp/b
/tmp/ CREATE,ISDIR b
/tmp/ OPEN,ISDIR b
/tmp/ ACCESS,ISDIR b
/tmp/ CLOSE_NOWRITE,CLOSE,ISDIR b

человек inotifywait и человек inotifywatch для получения дополнительной информации.

Остерегайтесь, что используя INOTIFY на широкой файловой системе, используйте много ресурсов ...

Если вы сочетаете его с Stat (чтобы увидеть владельца, например) и / или LSOF (Показать все открытые в настоящее время файлы, и, по которому процесс), у вас может быть больше намеков на то, кто виноват.

Редактировать: Пример inotify и att Комбинация :

inotifywait -m -r /tmp --format "%w%f" -e modify | while read newfile
do
  echo $newfile $(stat -c "%s" $newfile) bytes
done

Это выводят что-то вроде:

/tmp/oaoa 24 bytes
/tmp/oaoa 24 bytes
/tmp/.com.google.Chrome.iLdh1J 0 bytes
/tmp/.com.google.Chrome.iLdh1J 1472 bytes
4
27.01.2020, 21:10

Теги

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