То, что сработало для меня, было дано arch(применимо только к текстовым файлам):
grep -a -C 200 -F 'Unique string in text file' /dev/sdXN
где /dev/sdXN
— это раздел, содержащий потерянный файл (проверьте с помощью mount
, если вы не уверены ).
Занимает некоторое время, но сработало, когда я случайно удалил исходный код, который еще не зафиксировал!
Это то, что произошло здесь, мои сообщения системного журнала говорят INFO
журналы, но в tcpdump я обнаружил серьезность системного журнала, говорящую notice
, и это было моей ошибкой.
local7.*;local7.!=notice;local7.!=info @172.28.1.205:514;RFC3164fmt
Вот как мы можем проверить эти правила, используя logger
инструмент для создания поддельных журналов
logger -p 'local7.info' 'This is info logs, Reject it'
logger -p 'local7.notice' 'This is notice logs, Reject it'
logger -p 'local7.error' 'This is error logs and Accept it'
Возможно, вы захотите перезапустить службу rsyslog после ее обновления с помощью фильтров, если вы еще этого не сделали.
Перезапустите службу rsyslog после обновления файла rsyslog.conf.
# service rsyslog restart # CentOS/RHEL 6
# systemctl restart rsyslog