根据上次修改日期自动将文件从ec2存档到s3

时间:2019-01-24 09:38:02

标签: amazon-web-services amazon-s3 amazon-ec2

我想编写一个自动化作业,该作业将遍历存储在ec2存储器中的文件并检查上次修改日期。如果该日期超过(x)天,则该文件应自动存档到我的s3。 另外,我现在不想将文件转换为zip文件。

我不了解的是如何提供ec2实例存储的路径以及如何设置上次修改日期的条件。

aws s3 sync your-new-dir-name s3://your-s3-bucket-name/folder-name 

2 个答案:

答案 0 :(得分:1)

如果我理解错了,请纠正我

您的要求是存档较旧的文件

因此,您需要一个脚本来检查修改后的时间,如果自X天以来未对其进行修改,则只需将其归档到S3存储空间即可。您不希望将文件存储在本地

对吗?

这里有一些建议 1.请提供操作系统信息..这将有助于我们建议Shell脚本或Power Shell脚本

这是Power Shell脚本

$fileList = Get-Content "c:\pathtofolder"
foreach($file in $fileList) {
    Get-Item $file | select -Property fullName, LastWriteTime | Export-Csv 'C:\fileAndDate.csv' -NoTypeInformation
}

然后将AWS s3 cp转换为s3存储桶。

您将对Shell脚本执行相同的操作。

答案 1 :(得分:0)

使用aws s3 sync是将文件备份到S3的好方法。您可以使用以下命令:

aws s3 sync /home/ec2-user/ s3://my-bucket/ec2-backup/

第一个参数(/home/ec2-user/)是您可以指定文件来源的位置。我建议仅备份用户创建的文件,而不备份整个操作系统。

没有功能,无法指定天数。我建议您只复制所有文件。

您可以选择激活Versioning,以将所有版本的文件的副本保留在S3中。这样,如果文件被覆盖,您仍然可以返回到以前的版本。 (存储费用将适用于S3中保存的所有版本。)