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恢复误删除文件;