這一篇文章紀錄 如何使用 duplicity 將資料 以不加密的方式 備份到遠端 並進行還原
備份
範例:將本地的 ~/beamer-pandoc-slide-skeleton 目錄 備份到 遠端(192.168.1.88)的 /home/ming/backup 目錄
$ tree ~/beamer-pandoc-slide-skeleton
beamer-pandoc-slide-skeleton
├── beamer-template.tex
├── example
│ ├── slide.pdf
│ └── slide.rst
├── Makefile
├── README.md
└── src_slide
└── slide.rst
# --no-encryption: 不要加密
duplicity --no-encryption workspace scp://ming@192.168.1.88//home/ming/backup
$ ssh ming@192.168.1.88 -- ls /home/ming/backup
duplicity-full.20151014T021715Z.manifest
duplicity-full.20151014T021715Z.vol1.difftar.gz
duplicity-full-signatures.20151014T021715Z.sigtar.gz
還原
還原備份的資料 將遠端(192.168.1.88)的 /home/ming/backup 所紀錄的備份資料 還原到 本地的 /home/ming/me 資料夾
duplicity --no-encryption scp://ming@192.168.1.88//home/ming/backup /home/ming/me
還原 備份當中的特定檔案 或特定資料夾
還原 備份中的 example 資料夾 到 本地的 /home/ming/test_duplicity/example
duplicity restore --no-encryption --file-to-restore example scp://ming@192.168.1.88//home/ming/backup /home/ming/test_duplicity/example
列出 備份中的檔案清單
ssh ming@192.168.1.88 -- duplicity list-current-files --no-encryption file:///home/ming/backup
duplicity list-current-files --no-encryption file:///[path_to_backup_folder]
Is it possible to restore only one directory with the backup utility?
sudo duplicity
在需要較高的權限備份檔案時 (例如備份 系統目錄) 切換到 root 或使用 sudo duplcity 如果遇到問題
$ sudo duplicity --ssh-askpass --no-encryption ~/beamer-pandoc-slide-skeleton scp://ming@192.168.1.88//home/ming/me
Host key authenticity could not be verified (missing known_hosts entry?)
解決方式: 先用 root ssh 登入要備份的機器
$ su -
$ ssh ming@192.168.1.88
# 讓 /root/.ssh/known_hosts 紀錄
$ sudo duplicity --ssh-askpass --no-encryption ~/beamer-pandoc-slide-skeleton scp://ming@192.168.1.88//home/ming/me
# 輸入 ming 密碼