You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS CLI复制文件夹到S3并追加日期时间戳

如何复制文件夹到S3并追加时间戳避免覆盖

这问题我之前处理过好几次,其实用简单的命令组合就能轻松实现,核心就是先生成带唯一时间戳的目标路径,再执行S3复制操作,具体分两种环境给你说明:

Linux/macOS(Shell环境)

先定义好源文件夹、S3桶路径,然后生成时间戳拼接成目标路径,最后执行复制:

# 替换成你的源文件夹实际路径
SOURCE_FOLDER="./sourcefolder"
# 替换成你的S3桶基础路径
S3_BASE_PATH="s3://somebucket-test-bucket/"
# 生成时间戳,格式为YYYYMMDD-HHMMSS(可自定义)
TIMESTAMP=$(date +"%Y%m%d-%H%M%S")
# 拼接完整的S3目标路径,自动带上时间戳后缀
TARGET_S3_PATH="${S3_BASE_PATH}sourcefolder-${TIMESTAMP}/"

# 执行递归复制
aws s3 cp "$SOURCE_FOLDER" "$TARGET_S3_PATH" --recursive

执行后,你在S3桶里看到的文件夹就会是类似 sourcefolder-20240520-143522 这样的名称,完全不用担心被覆盖。

小提示:自定义时间戳格式

如果觉得默认格式不符合需求,你可以修改date命令的参数,比如想改成YYYY-MM-DD_HH-MM-SS的格式,就把date +"%Y%m%d-%H%M%S"改成date +"%Y-%m-%d_%H-%M-%S",只要是S3路径允许的字符都可以用。

Windows(PowerShell环境)

如果是在Windows下用PowerShell操作,命令稍微调整一下:

# 替换成你的源文件夹路径
$sourceFolder = ".\sourcefolder"
# 替换成你的S3桶基础路径
$s3BasePath = "s3://somebucket-test-bucket/"
# 生成时间戳
$timestamp = Get-Date -Format "yyyyMMdd-HHmmss"
# 拼接目标路径
$targetS3Path = "${s3BasePath}sourcefolder-${timestamp}/"

# 执行复制
aws s3 cp $sourceFolder $targetS3Path --recursive

这样同样能生成带时间戳的唯一文件夹名称。

内容的提问来源于stack exchange,提问作者Spocktador

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:22:45