Làm gì nếu bạn không thể phục hồi các tập tin
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported License

Lê Trường An
https://launchpad.net/~truongan

# Khi mọi thứ trở nên xấu đi

Déjà Dup may fail. Maybe it crashes or gives you an error when you try to restore. When you really need your data back, the last thing you want do deal with is a bug. Consider filing a help request but in the meantime, here are some approaches to workaround a misbehaving Déjà Dup and get your data back.

Hỗ trợ kĩ thuật cho bạn. Nếu bạn vẫn còn thắc mắc, đừng ngần ngại đặt câu hỏi.

Mở Cửa sổ dòng lệnh bằng cách nhấn giữ các phím Ctrl Alt T.

Tạo thư mục chứa các tập tin được phục hồi. Hướng dẫn này sẽ sử dụng thư mục /tmp/restore:

    mkdir -p /tmp/restore

# Phục hồi với Duplicity

Trường hợp Déjà Dup không hoạt động, bạn sẽ dùng công cụ dòng lệnh duplicity vốn được Déjà Dup sử dụng để sao lưu và phục hồi tập tin.

Nếu bạn muốn biết thêm nữa về duplicity, chạy lệnh man duplicity.

Việc đầu tiên chúng ta thử đơn giản chỉ là phục hồi tất cả dữ liệu của bạn. Nếu các tập tin nằm trên ổ đĩa gắn ngoài được gắn kết vào /media/backup và bạn chọn mã hóa bản sao lưu, hãy thử:

    duplicity --gio file:///media/backup /tmp/restore

Nếu bạn không mã hóa bản sao lưu, thêm --no-encryption vào lệnh.

## Vị trí lưu bản sao lưu khác

Nếu bạn sao lưu sang một địa chỉ từ xa hoặc dịch vụ đám mây, thì cú pháp dùng trong duplicity sẽ khác với ổ đĩa gắn ngoài ở ví dụ trên. Xem mục bên dưới để biết cách kết nối đến vị trí lưu bản sao lưu bạn đã chọn.

Nhớ thêm --no-encryption vào bất kì lệnh ví dụ nào nếu bản sao lưu chưa được mã hóa.

If duplicity appears to be having trouble connecting to your server, try downloading all the duplicity files yourself to a local folder and following the simpler example above.

### FTP

Tra cứu địa chỉ máy chủ, cổng, tên người dùng, và mật khẩu để thay thế vào các mục tương ứng MÁY CHỦ, CỔNG, TÊN NGƯỜI DÙNG, và MẬT KHẨU trong ví dụ bên dưới.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

Nếu bạn chọn đăng nhập không dùng tên người dùng, giá trị TÊN NGƯỜI DÙNG là anonymous.

    gvfs-mount ftp://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC
    duplicity --gio ftp://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC /tmp/restore

### SSH

Tra cứu địa chỉ máy chủ, cổng, tên người dùng, và mật khẩu để thay thế vào các mục tương ứng MÁY CHỦ, CỔNG, TÊN NGƯỜI DÙNG, và MẬT KHẨU trong ví dụ bên dưới.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

    gvfs-mount ssh://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC
    duplicity --gio ssh://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC /tmp/restore

### WebDAV

Tra cứu địa chỉ máy chủ, cổng, tên người dùng, và mật khẩu để thay thế vào các mục tương ứng MÁY CHỦ, CỔNG, TÊN NGƯỜI DÙNG, và MẬT KHẨU trong ví dụ bên dưới.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

Nếu bạn muốn sử dụng kết nối an toàn (HTTPS) khi sao lưu, thay thế dav:// bằng davs:// trong ví dụ bên dưới.

    gvfs-mount dav://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC
    duplicity --gio dav://TÊN NGƯỜI DÙNG@MÁY CHỦ:CỔNG/THƯ MỤC /tmp/restore

### Windows Share

Tra cứu địa chỉ máy chủ, tên người dùng, và mật khẩu để thay thế vào các mục tương ứng MÁY CHỦ, TÊN NGƯỜI DÙNG, và MẬT KHẨU trong ví dụ bên dưới.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

Nếu bạn chỉ định một tên miền cho dịch vụ Windows, thêm nó vào phía trước TÊN NGƯỜI DÙNG và ngăn cách chúng bằng dấu chấm phẩy. Ví dụ, tên_miền;tên_người_dùng.

    gvfs-mount smb://TÊN NGƯỜI DÙNG@MÁY CHỦ/THƯ MỤC
    duplicity --gio smb://TÊN NGƯỜI DÙNG@MÁY CHỦ/THƯ MỤC /tmp/restore

# Phục hồi thủ công

Thậm chí duplicity không hoạt động, hy vọng vẫn còn dù là nhỏ nhoi. Tập tin sao lưu khá phức tạp và không dễ đọc được. Nhưng nếu bạn đang tuyệt vọng, nó đáng để thử.

If you used a remote or cloud server to store your backup, first download all the duplicity files and place them in a folder on your computer. Then enter that folder in your terminal.

Duplicity stores your data in small chunks called volumes. Some volumes belong to the periodic ‘full’ or fresh backups and others to the ‘inc’ or incremental backups. Starting with a full backup set of volumes at volume 1, you’ll need to restore files volume by volume.

If you encrypted your backup, first you must decrypt the volume with gpg. Say you have duplicity-full.20110127T131352Z.vol1.difftar.gpg:

    gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg

Or to do all at once (make sure you have plenty of space!):

    gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg

Now you have either a .difftar or a .difftar.gz volume (depending on whether you had to decrypt it or not). Use tar on whichever one you have to extract the individual patch files:

    tar xf duplicity-full.20110127T131352Z.vol1.difftar

Or again, to do all at once:

    for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done

Now the patch files will be in multivolume_snapshot and snapshot folders. Each file that spanned multiple volumes will be in multivolume_snapshot. Let’s say you backed up /home/jane/essay.txt:

    cd multivolume_snapshot/home/jane/essay.txt
    cat * > essay.txt

To recover data from incremental backups, use rdiff to stitch the files together. See man rdiff for usage.