Duplicity dan Amazon S3 Script

12

Saya mencari cadangan server linux saya ke Amazon S3 menggunakan duplikat.

Saya menemukan sumber yang bagus di sini yang membantu saya untuk menyiapkannya dan saya menggunakan skrip dasar yang terdaftar di sana untuk saya dan sekarang disalin di sini:

#!/bin/sh
# Export some ENV variables so you don't have to type anything
export AWS_ACCESS_KEY_ID=[your-access-key-id]
export AWS_SECRET_ACCESS_KEY=[your-secret-access-key]
export PASSPHRASE=[your-gpg-passphrase]

GPG_KEY=[your-gpg-key]

# The source of your backup
SOURCE=/

# The destination
# Note that the bucket need not exist
# but does need to be unique amongst all
# Amazon S3 users. So, choose wisely.
DEST=s3+http://[your-bucket-name]/[backup-folder]

duplicity \
    --encrypt-key=${GPG_KEY} \
    --sign-key=${GPG_KEY} \
    --include=/boot \
    --include=/etc \
    --include=/home \
    --include=/root \
    --include=/var/lib/mysql \
    --exclude=/** \
    ${SOURCE} ${DEST}

# Reset the ENV variables. Don't need them sitting around
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export PASSPHRASE=

Apakah ada orang lain yang memiliki pengalaman bermuka dua di mana mereka dapat meningkatkan skrip ini dan / atau berbagi praktik terbaik untuk membantu membuat skrip yang lebih baik?

quickcel
sumber

Jawaban:

15

Saya menggunakan variasi skrip itu untuk cadangan saya. Saya baru-baru ini membuat beberapa perubahan untuk itu, untuk mencoba dan menghemat uang pada tagihan Amazon S3 saya (server pribadi, kalau tidak saya tidak akan terlalu keberatan).

Script lengkapnya ada di sini , tetapi saya akan mencantumkan perubahan yang saya buat di bawah.

--full-if-older-than 1M
--volsize 250

Opsi pertama memastikan bahwa duplikat melakukan pencadangan penuh terlepas, setiap bulan. Ini berguna karena itu berarti saya dapat menghapus cadangan lengkap terbaru jika saya perlu menghapus file dari S3.

Opsi kedua mengurangi jumlah penyimpanan duplikat file pada S3, yang mengurangi jumlah permintaan yang dibuat ke S3, mengurangi biaya.

Saya juga menambahkan yang berikut setelah pencadangan berjalan. Ini menghapus semua cadangan yang lebih dari 6 bulan dari S3.

duplicity remove-older-than 6M --force ${DEST}
Olly
sumber