Project Backups

Introduction

Unfuddle allows you to request and download backups of a project at any time provided you are an account or project administrator. These backups are intended to be used as a way to export one's data from Unfuddle for personal use or possibly for import into a different system.

Large Backups

A project backup will be automatically split into multiple parts if the file size of the backup is larger than approximately 1 GB. In this case, each part will be downloadable separately. Once all parts have been downloaded, they must all be joined together before it will be possible to read the contents of the backup. This can be done by concatenating the files into a single file:

cat backup.36.tar.gz.aa backup.36.tar.gz.ab backup.36.tar.gz.ac > backup.36.complete.tar.gz

Amazon S3

It is also possible to have Unfuddle automatically store a copy of a project backup in your personal Amazon S3 account. To do this you will need to sign up for an Amazon S3 account, if you do not already have one, then enter your credentials in the space provided in the project settings.

When providing your S3 access keys for your project backups, you will want to make sure your permissions for the keys are set correctly. Access keys generated on the root account will be grant access to all buckets in your S3 account, since these root keys have full access to your entire AWS account. However, we highly recommend against using root-level access keys for security reasons, as they grant much more access than necessary.

The better solution in this case is to use the AWS Identity and Access Management system (IAM) to create a user in your AWS account and give that user only the necessary permissions. Permissions are given through policies that are either attached to a IAM group or IAM user in the account. For example, once you have created a new IAM user in your AWS account, you might want to give that user permission to only a specific bucket in the S3 account. You can do that by attaching a policy to this user.

Here's an example policy from the AWS help documents that can be used to do this (Note: you will need to replace "bucket-name" with the name of your specific bucket):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::bucket-name"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::bucket-name/*"
    }
  ]
}

This example policy gives the IAM user or group members full access to "bucket-name" and to all the objects in it. Once the IAM user is set with the correct permissions and the bucket is created, your backups will be automatically uploaded to your S3 account when created. For more information on example policies and managing access permissions, see: