当建立一个归档时, tar 会将文件路径前面的 / (斜线) 去掉。因此,默认恢复文件时将文件释放到当前目录下。 若要将文件释放到指定的目录
下,可以使用 -C 选项指定。
1. 建议在释放文件之前先使用 -t 选项替换 -x 选项,进行检查。
2. 一个更安全的方法是在不同的目录释放文件 (例如您的 home 目录),然后比对确认后,再将释放的文件移动到原始位置。
恢复全部文件
# 从磁盘文件恢复全部文件
# tar -zxvpf /backups/full-backup_2008-01-29.tar.gz -C /
# 从磁带中恢复全部文件
# tar -xvpf /dev/st0 -C /
恢复指定文件
#从磁盘文件恢复指定的文件
# tar -zxvpf /backups/full-backup_2008-01-29.tar.gz -C / \
> etc/passwd etc/shadow
# 从磁带中恢复指定的文件
# tar -xvpf /dev/st0 -C / etc/passwd etc/shadow
恢复文件的顺序
当系统中存在一个完全备份和多个增量备份时,应该首先恢复完全备份,然后按时间顺序依次恢复增量备份。
例如:系统存在如下的备份文件:
full-backup_2008-01-29.tar.gz
inc-backup_2008-01-30.tar.gz
inc-backup_2008-01-31.tar.gz
inc-backup_2008-02-01.tar.gz
inc-backup_2008-02-02.tar.gz
inc-backup_2008-02-03.tar.gz
应该按照上面的列出顺序依次进行恢复。
当系统中存在一个完全备份和多个基于此完全备份的累计备份时,应该首先恢复完全备份,然后再恢复一个累计备份即可。
例如:系统存在如下的备份文件:
full-backup_2008-01-29.tar.gz
diff-backup_2008-01-30.tar.gz
diff-backup_2008-01-31.tar.gz
diff-backup_2008-02-01.tar.gz
diff-backup_2008-02-02.tar.gz
diff-backup_2008-02-03.tar.gz
要恢复到 2008-02-02 备份前的状态,只要依次恢复 full-back up_2008-01-29.tar.gz 和 diff-back up_2008-02-02.tar.gz 即可。