我想编写一个自动化作业,该作业将遍历存储在ec2存储器中的文件并检查上次修改日期。如果该日期超过(x)天,则该文件应自动存档到我的s3。 另外,我现在不想将文件转换为zip文件。
我不了解的是如何提供ec2实例存储的路径以及如何设置上次修改日期的条件。
aws s3 sync your-new-dir-name s3://your-s3-bucket-name/folder-name
答案 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中保存的所有版本。)