Ubuntu日志恢复方法如下:
从备份恢复
rsync
、tar
),可直接从备份目录复制日志文件到原路径,如:sudo rsync -av /path/to/backup/syslog /var/log/
。sudo systemctl restart rsyslog
。利用进程缓存恢复(未覆盖时)
lsof
查找正在使用日志文件的进程:sudo lsof | grep /var/log/syslog
。/proc/[PID]/fd/[FD]
复制文件内容到原路径:sudo cp /proc/[PID]/fd/[FD] /var/log/syslog
。使用数据恢复工具(文件被覆盖或删除)
extundelete
工具恢复(需安装,操作前停止写入):sudo extundelete /dev/sdX --restore-file /var/log/syslog
。PhotoRec
(支持多文件系统,基于文件类型扫描):sudo apt install photorec
,然后运行并按提示选择分区和文件类型。通过日志轮转文件恢复
logrotate
,可检查轮转归档文件(如/var/log/syslog.1.gz
),解压后复制到原路径:sudo gunzip /var/log/syslog.1.gz
,再sudo cp /var/log/syslog.1 /var/log/syslog
。注意:操作前确保有足够权限(用sudo
),恢复后建议重启服务并检查日志完整性。定期备份是预防数据丢失的关键。