poe*_*4it 8 linux inode ln data-recovery proc
有没有办法在Linux中创建链接到特定iNode的文件?采取这种情况:有一个文件正在写入(可能是一个日志),并删除了特定文件,但 dir/proc中的链接仍然指向它.在这种情况下,我们不需要它的裸副本,而是它的硬链接,因此我们可以在进程关闭之前进行未来的修改和最后修改,系统将其删除.
如果我们有iNode号码有没有办法实现这个目标?
poe*_*4it 15
由于没有涉及iNode的Syscall,因为这是一个extX fs的概念,并且不是一个好的做法制作一个炉管,但它是一个负责任的链(如MEL建议),这个问题只有一个答案没有答案因为在VFS级别,我们处理文件路径和名称而不是其他内部表示.
但要实现追踪最后修改的目标,我们可以使用尾部连续监视和复制:
tail -c+1 -f --pid=PID /proc/PID/fd/FD > /path/to/the/copy
Run Code Online (Sandbox Code Playgroud)
其中PID是已删除文件仍然打开且FD是其文件描述符编号的进程的pid.使用-f tail打开并保持文件显示进一步修改,使用-c + 1从第一个字节开始"尾"并使用--pid = PID tail在pid退出时通知退出.
小智 5
您可以使用lsof恢复已删除的文件(有时)...
> lsof | grep testing.txt
less 4607 juliet 4r REG 254,4 21
8880214 /home/juliet/testing.txt (deleted)
Run Code Online (Sandbox Code Playgroud)
在尝试此操作之前,请务必阅读原始文章以获取完整的详细信息,除非您是像我这样的Maveric.
> ls -l /proc/4607/fd/4
lr-x------ 1 juliet juliet 64 Apr 7 03:19
/proc/4607/fd/4 -> /home/juliet/testing.txt (deleted)
> cp /proc/4607/fd/4 testing.txt.bk
Run Code Online (Sandbox Code Playgroud)
http://www.linuxplanet.com/linuxplanet/tips/6767/1
请享用
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |