我希望使用 duplicity 将我的 linux 服务器备份到 Amazon S3。
我在这里找到了一个很好的资源,可以帮助我进行设置,并且正在使用为我列出的基本脚本,现在复制到这里:
#!/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=
有没有其他人有过重复的经验,他们可以改进这个脚本和/或分享最佳实践来帮助创建一个更好的脚本?
我正在使用该脚本的变体进行备份。我最近对其进行了一些更改,以尝试在我的 Amazon S3 账单上节省一些钱(个人服务器,否则我不会这么介意)。
完整的脚本在这里,但我将在下面列出我所做的更改。
第一个选项确保 duplicity 每月进行一次完整备份。这很有用,因为这意味着如果我需要从 S3 中删除文件,我可以删除到最新的完整备份。
第二个选项减少了 S3 上的文件重复存储的数量,这减少了对 S3 的请求数量,从而降低了成本。
备份运行后,我还添加了以下内容。这将从 S3 中删除 6 个月以上的所有备份。