• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    恢复linux下被删除的syslog—/var/log/messages文件方法

    Linux新手容易犯的一个错误是把日志文件给直接删除,而不是删除日志文件的内容。
    直接删除日志文件往往导致新产生的日志记录无法被写入到日志文件中(因为它已经被删除了),而仅仅重新新建(touch)同样名字的文件是解决不了问题的。

    本文以Unbutu系统为例,介绍如何恢复被误删除的syslog文件:

    首先,在以root用户执行如下lsof命令,查询打开/var/log/messages文件的进程的进程ID(PID)。


    复制代码
    代码如下:

    root@zck:/var/log# lsof | grep messages
    rsyslogd 544 syslog 7w REG 8,1 214641 134422 /var/log/messages

    从上面命令输出可以看到,这个打开/var/log/messages文件的进程的PID是544,文件/var/log/messages的文件描述符(FD)号是7。
    根据上述的PID和FD,可以在/proc找到对应的文件:


    复制代码
    代码如下:

    root@zck:/var/log#ls -al /proc/544/fd/7
    l-wx------ 1 root root 64 2012-07-14 14:48 7 -> /var/log/messages

    将文件/proc/544/fd/7拷贝到/var/log/messages
    cp /proc/544/fd/7 /var/log/messages 

    然后重新启动syslog服务即可恢复被误删除的日志文件,并且新的日志记录能够继续被写入日志文件。
    以root用户运行service命令。其中,service命令的第2个参数可能是syslog、也可能是rsyslog。
    具体可以使用通过命令查询得知。


    复制代码
    代码如下:

    root@zck:/proc/544/fd# service --status-all
    [ ? ] ...
    [ ? ] rc.local
    [ ? ] rsyslog
    [ ? ] screen-cleanup
    [ ? ] ...

    #-------------------------------


    复制代码
    代码如下:

    root@zck:/proc/544/fd# service rsyslog restart
    rsyslog start/running, process 2673

    清空日志文件:
    cat /dev/null>/var/log/messages

    上一篇:vim学习进阶 better、faster、stronger使用说明
    下一篇:linux Vim经典配置一例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    恢复linux下被删除的syslog—/var/log/messages文件方法 恢复,linux,下,被,删除,的,