просто замените/sbin/reboot условной перезагрузкой
[ -r /noreboot ] || /sbin/reboot
затем, если Вы не хотите перезагружать, просто касаться/noreboot, и Вы хороши, независимо от того, что сценарий делает в то время, пока он еще не перезагрузил.
также можно просто загрузить систему с livecd и прокомментировать строку перезагрузки в rc.local при нахождении ошибки.
Брендан Грегг 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
[...]
(пример взятый из его блогов ).
Вы можете использовать его, чтобы проследить все ввода / вывода вашей системы, как указано выше, или ограничить его одному процессу, устройство ...
Вы можете попробовать 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