Linux文件备份实用技巧
tar -czvf backup.tar.gz /path/to/dir
创建gzip压缩的归档文件)。备份时可使用--exclude
参数排除无需备份的目录(如--exclude=/proc --exclude=/lost+found
),减少备份体积和时间。恢复时用tar -xzvf backup.tar.gz -C /target/dir
解压到指定目录。rsync -avz /source/dir /backup/dir
(-a
保留文件属性,-v
显示详情,-z
压缩传输);远程备份通过SSH实现,如rsync -avz -e ssh /source/dir user@remote:/backup/dir
。添加--delete
参数可同步删除目标目录中源目录不存在的文件,保持严格一致。dd if=/dev/sda of=/backup/sda.img bs=4M conv=noerror,sync
,if
为输入设备,of
为输出文件,bs
设置块大小提升速度,noerror
忽略读错误,sync
填充坏道)。恢复时反向操作(dd if=/backup/sda.img of=/dev/sda bs=4M
),注意:操作前需卸载目标设备,避免数据覆盖。duplicity /source/dir scp://user@remote//backup/dir
;恢复时用duplicity scp://user@remote//backup/dir /target/dir
。可通过--encrypt-key
指定GPG密钥ID增强安全性。sudo timeshift --backup
)创建备份,恢复时选择对应快照即可。适合系统崩溃或误操作后的快速恢复。crontab -e
),添加如0 2 * * * /path/to/backup_script.sh
的条目,表示每天凌晨2点执行备份脚本。脚本中可整合tar、rsync等命令,实现全量/增量备份的自动化。Linux文件恢复实用技巧
sudo apt install extundelete
),恢复单个文件用sudo extundelete /dev/sda1 --restore-file /path/to/deleted/file
,恢复整个目录用sudo extundelete /dev/sda1 --restore-directory /path/to/deleted/dir
。操作前需立即卸载目标分区(sudo umount /dev/sda1
),防止新数据覆盖已删除文件。sudo testdisk
,选择目标分区,通过“Analyse”→“Quick Search”/“Deep Search”查找丢失的文件/分区,找到后按c
键复制到安全位置。恢复过程需谨慎选择分区,避免进一步损坏。sudo photorec /dev/sda1
,选择分区后自动识别文件类型(可选择“All files”),指定恢复目录即可。恢复的文件按类型分类存储,但可能无原始文件名。sudo debugfs /dev/sda1
进入交互界面,用lsdel
命令列出已删除文件的inode号,记录目标文件的inode号后,用undel <inode号>
恢复。操作需熟悉ext文件系统结构,适合有一定经验的用户。