Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 s3新手:如何在AmazonS3中设置自动备份?_Amazon S3 - Fatal编程技术网

Amazon s3 s3新手:如何在AmazonS3中设置自动备份?

Amazon s3 s3新手:如何在AmazonS3中设置自动备份?,amazon-s3,Amazon S3,我是AmazonS3的新手,所以我只想知道如何设置自动每日备份 谢谢 我认为最简单的方法是使用s3cmd工具(S3命令行): 您可以在此处找到信息: 您只需设置一个cronjob来压缩所有文件,包括数据库转储,然后使用s3cmd [编辑] 在Debian上安装时,您可以运行: sudo apt-get install s3cmd 然后您需要在主目录中有一个名为.s3cfg的配置文件: 这是一个示例: [default] access_key = <put AWS your access

我是AmazonS3的新手,所以我只想知道如何设置自动每日备份


谢谢

我认为最简单的方法是使用
s3cmd
工具(S3命令行):

您可以在此处找到信息:

您只需设置一个cronjob来压缩所有文件,包括数据库转储,然后使用
s3cmd

[编辑]

在Debian上安装时,您可以运行:

sudo apt-get install s3cmd
然后您需要在主目录中有一个名为
.s3cfg
的配置文件:

这是一个示例:

[default]
access_key = <put AWS your access key here>
secret_key = <put AWS your secret access key here>
bucket_location = US
[默认值]
访问密钥=
机密密钥=
桶位置=美国
您可以使用IAM获取AWS访问密钥并创建用户:


我认为最简单的方法是使用
s3cmd
工具(S3命令行):

您可以在此处找到信息:

您只需设置一个cronjob来压缩所有文件,包括数据库转储,然后使用
s3cmd

[编辑]

在Debian上安装时,您可以运行:

sudo apt-get install s3cmd
然后您需要在主目录中有一个名为
.s3cfg
的配置文件:

这是一个示例:

[default]
access_key = <put AWS your access key here>
secret_key = <put AWS your secret access key here>
bucket_location = US
[默认值]
访问密钥=
机密密钥=
桶位置=美国
您可以使用IAM获取AWS访问密钥并创建用户:


我认为
replici
s3cmd
更合适
s3cmd
是用于
S3
的命令行管理工具,但
replici
是为备份而设计的。看

更新:
如果您希望在Linux中进行简单备份而不使用某些高级功能,另一种方法是

我认为
replici
s3cmd
更合适
s3cmd
是用于
S3
的命令行管理工具,但
replici
是为备份而设计的。看

更新:
如果您希望在Linux中进行简单备份而不使用某些高级功能,另一种选择是

您有三种选择:

  • 使用冰川自动备份
  • 使用第三方服务
  • 使用脚本备份到单独的s3存储桶
  • 如果恢复速度不是问题,您只需要每天备份,并且您正在备份大型文件,那么您应该使用glacier生命周期规则将您的存储桶备份到glacier

    但是,当您执行此操作时,生命周期规则将警告您,如果文件大小小于256.0KB,则这不是最有效的解决方案。您可能会收到如下警告:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1426742219000",
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::test",
                    "arn:aws:s3:::test/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::test-backup",
                    "arn:aws:s3:::test-backup/*"
                ]
            }
        ]
    }
    
    将较小的物体转移到冰川可能会增加成本

    此存储桶中对象的平均大小为16.0KB*,小于 低于建议的256.0KB,以降低冰川存储成本 班级。将较小的对象转换为冰川存储类可以 增加存储成本,因为额外增加了32KB的冰川索引 添加了数据和8KB的S3元数据

    如果是这种情况,那么你应该将你的水桶备份到“备份水桶”中。以下步骤将有助于解决冰川问题

    1.)在此处创建备份存储桶:

    2.)使用如下用户策略创建用户:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1426742219000",
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::test",
                    "arn:aws:s3:::test/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::test-backup",
                    "arn:aws:s3:::test-backup/*"
                ]
            }
        ]
    }
    
    这允许您从应用程序可访问的存储桶中获取数据,并将数据备份到备份存储桶中,但备份用户无法从备份存储桶中删除数据,这在服务器受损且您需要从这些备份中恢复时非常重要。您可以在此处创建策略: 然后将其添加到此处的用户

    3.)在此处启用备份存储桶的版本控制

    4.)您可以使用s3cmd将一个存储桶备份到另一个存储桶。从此处下载并配置该工具:

    您可以在shell脚本中设置这些命令,并让它们在crontab进程中运行

    5.)一旦有多个备份,您可能希望限制备份版本中存储的版本数,以节省存储成本。您可以通过在aws s3控制台的bucket properties下对bucket创建生命周期规则来实现这一点。在那里,您可以让它删除超过一定天数的版本

    6.)保存各种快照后,您将需要一种使用特定快照恢复存储桶的方法。下面是一个PHP脚本,可以帮助您完成此操作:

    export startSnapShotTimeStamp=1427577934;
    export endSnapShotTimeStamp=1427577939;
    #do the restore with php script
    php awsUtil.php sync test test-backup $startSnapShotTimeStamp-$endSnapShotTimeStamp
    
    时间戳的范围会将存储桶恢复到备份中存储的这两个时间戳之间的最新状态


    您可以从此处下载恢复脚本:

    您有三种选择:

  • 使用冰川自动备份
  • 使用第三方服务
  • 使用脚本备份到单独的s3存储桶
  • 如果恢复速度不是问题,您只需要每天备份,并且您正在备份大型文件,那么您应该使用glacier生命周期规则将您的存储桶备份到glacier

    但是,当您执行此操作时,生命周期规则将警告您,如果文件大小小于256.0KB,则这不是最有效的解决方案。您可能会收到如下警告:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1426742219000",
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::test",
                    "arn:aws:s3:::test/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::test-backup",
                    "arn:aws:s3:::test-backup/*"
                ]
            }
        ]
    }
    
    将较小的物体转移到冰川可能会增加成本

    此存储桶中对象的平均大小为16.0KB*,小于 低于建议的256.0KB,以降低冰川存储成本 班级。将较小的对象转换为冰川存储类可以 增加存储成本,因为额外增加了32KB的冰川索引 添加了数据和8KB的S3元数据

    如果是这种情况,那么你应该将你的水桶备份到“备份水桶”中。以下步骤将有助于解决冰川问题

    1.)在此处创建备份存储桶:

    2.)使用如下用户策略创建用户:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "Stmt1426742219000",
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts"
                ],
                "Resource": [
                    "arn:aws:s3:::test",
                    "arn:aws:s3:::test/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "s3:AbortMultipartUpload",
                    "s3:GetObject",
                    "s3:GetObjectAcl",
                    "s3:GetBucketPolicy",
                    "s3:GetBucketAcl",
                    "s3:GetObjectVersion",
                    "s3:ListBucket",
                    "s3:ListBucketMultipartUploads",
                    "s3:ListMultipartUploadParts",
                    "s3:PutObject"
                ],
                "Resource": [
                    "arn:aws:s3:::test-backup",
                    "arn:aws:s3:::test-backup/*"
                ]
            }
        ]
    }
    
    这允许您从应用程序可访问的存储桶中获取数据,并将数据备份到备份存储桶中,但备份用户无法从备份存储桶中删除数据,这在服务器受损且您需要从这些备份中恢复时非常重要。您可以创建策略