Ubuntu SSH环境下恢复丢失数据的步骤
使用SSH客户端(如终端)连接到丢失数据的Ubuntu服务器,命令格式为:
ssh username@server_ip_address
替换username
为服务器用户名,server_ip_address
为服务器IP地址。连接后需获取root权限(通过sudo -i
命令),以便执行后续数据恢复操作。
数据恢复前,需确保文件系统未损坏。使用fsck
命令检查并修复目标分区(如/dev/sda1
):
sudo fsck /dev/sdXY
(将/dev/sdXY
替换为实际分区,如/dev/sda1
)。若文件系统有错误,fsck
会尝试自动修复,修复完成后再进行数据恢复。
数据恢复成功率的关键是避免新数据覆盖已删除文件。可通过以下方式停止目标分区的写入:
sudo umount /dev/sdXY
;sudo mount -o remount,ro /dev/sdXY
。若文件系统为ext3或ext4,可使用extundelete
工具恢复指定文件。操作步骤如下:
sudo apt-get update && sudo apt-get install extundelete
;sudo extundelete /dev/sdXY --restore-file path/to/deleted/file
/dev/sdXY
替换为目标分区,path/to/deleted/file
替换为被删除文件的相对路径,如/home/user/document.txt
)。RECOVERED_FILES
文件夹中。若文件系统为NTFS、FAT32或ext系列,可使用testdisk
工具进行更全面的恢复:
sudo apt-get update && sudo apt-get install testdisk
;sudo testdisk
;/home/user/recovered
)。testdisk
支持恢复目录结构和部分损坏的文件,适合复杂数据丢失场景。若事先通过tar
、scp
或rsync
等工具备份过数据,可直接从备份文件中恢复:
scp
传输到服务器:scp username@local_machine:/path/to/backup.tar.gz /tmp
;tar xzvf /tmp/backup.tar.gz -C /path/to/restore/directory
/path/to/backup.tar.gz
替换为备份文件路径,/path/to/restore/directory
替换为恢复目标目录)。cron
任务设置自动备份(如每天凌晨备份/home
目录到/backup
),备份文件存储在外部设备或云存储中;git checkout
或git reset
恢复误删除文件;