双重性和Amazon S3脚本


12

我正在使用偶发性将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=

其他人是否有过重复工作的经验,可以改进此脚本和/或分享最佳实践以帮助创建更好的脚本?

Answers:


15

我正在使用该脚本的变体进行备份。我最近对其进行了一些更改,以期在我的Amazon S3账单(个人服务器,否则我不会那么介意)上节省一些钱。

完整的脚本在这里,但我将在下面列出所做的更改。

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

第一个选项可确保重复性每月进行一次完整备份。这很有用,因为这意味着如果需要从S3删除文件,则可以删除到最新的完整备份。

第二个选项减少了S3上文件重复存储的数量,这减少了对S3的请求数量,从而降低了成本。

备份运行后,我还添加了以下内容。这将从S3中删除所有6个月以上的备份。

duplicity remove-older-than 6M --force ${DEST}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.