这是当前情况-
我有多个S3存储桶,其中的SQS事件已配置为使用FTP从我使用S3FS进行配置的对象的PUT中。
另外,我在EC2上有多个目录,用户可以在其上放置一个对象,该对象与不同的S3存储桶(使用S3FS)同步,生成SQS事件(使用S3的SQS事件)。
这是我需要实现的,
我需要在“文件夹”级别上合并逻辑,而不是多个S3存储桶,
即。现在,我为之前创建的每个存储桶创建了不同的文件夹,并为各个文件夹中的PUT创建了单独的SQS事件。
现在是S3FS的存储桶级逻辑,我想调整单个S3存储桶中的文件夹级。
即。我想在EC2上创建3个不同的目录,例如A,B,C。
如果我将一个对象放在EC2的目录A中,则该对象必须与S3存储桶中的文件夹A同步,
类似地,对于S3的目录B和文件夹B以及EC2上的目录C和S3上的文件夹C。
这是我为安装S3FS创建的步骤-
脚步 -
ssh进入EC2
sudo apt-get install automake autotools-dev g ++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-保险丝
./autogen.sh
。/配置
使
须藤使安装
将S3存储桶安装到文件系统
回显访问密钥ID:秘密访问密钥> / etc / passwd-s3fs
chmod 600 / etc / passwd-s3fs
mkdir / mnt / bucketname
回声s3fs#bucketname / mnt / bucketname保险丝_netdev,rw,nosuid,nodev,allow_other 0 0 >> / etc / fstab
挂载-a
现在,这些步骤实现了EC2和S3存储桶上特定目录之间的同步,
我该如何调整以使EC2上的2个不同目录与S3上的2个不同文件夹同步。
我是Linux和AWS新手,请帮帮我。
最佳答案
请勿将S3存储桶安装到文件系统。使用AWS S3 CLI和Cron将EC2目录与S3存储桶目录同步。
在EC2实例(http://tecadmin.net/install-s3cmd-manage-amazon-s3-buckets/#)上安装S3CMD
开始一项cron作业,以实现与本地目录和S3 Bucket子文件夹的同步。
创建一个脚本文件,例如“ script.sh”
#/bin/bash
aws s3 sync /path/to/folder/A s3://mybucket/FolderA
aws s3 sync /path/to/folder/B s3://mybucket/FolderB
aws s3 sync /path/to/folder/C s3://mybucket/FolderC
开始执行cron作业,例如:
* * * * * /root/scripts/script.sh
您将实现用例。