【发布时间】:2020-09-21 05:16:30
【问题描述】:
我正在使用以下 bash 脚本从 AWS S3 glacier 下载多个档案。
#!/usr/bin/env bash
export account_id=my_account_id
export vault_name=my_value
export archive_ids=("fA5tzbZeENQXl-hflqGmj8baB9q5ORwKAZlglAJeKDfNoomKJWLmA7SxpNPvgDxbS46Cp6Q8ByJiB7Vp8EipJ5shiSVMoj8Y5AZjxJEYhSsoQzHoqRQ48U2jiiDuBQ6ZW9Pazpp6PQ" "sLTV5km56fyT5k4TZIa9hQ9Q0m5YsmIQv8N1Vl4la5FTlsywobCARmvFKvI-KTJkyrGcm82LpRe62U9Z8xn6TEzdBAXYlgDSNI75biDMicBM76gyJ2dcpBRnDdulgK2ZhaZWgx0cbB")
for i in ${archive_ids[@]}; do
aws glacier initiate-job --vault-name ${VAULT_NAME} --account-id ${account_id} --job-parameters "{\"Type\": \"archive-retrieval\", \"ArchiveId\": \"$i\", \"Tier\": \"Expedited\"}"
done
上述脚本的一个问题是它需要我在第一个for 循环之后按q 才能继续执行。
脚本在第一次循环后保持显示location 和jobId 的状态。我必须记住jobId 按q 让它离开这个状态。
{
"location": "/<account_id>/vaults/<vault_name>/jobs/1JbD7xVEBcOWQC1qnmxmNNnEpfy8E3-1fLaR6XoUnU5DK7TARLsS4-9jalykFeqK6_3A2VpvoscMz_xsTtAZYj_M_XSu",
"jobId": "1JbD7xVEBcOWQC1qnmxmNNnEpfy8E3-1fLaR6XoUnU5DK7TARLsS4-9jalykFeqK6_3A2VpvoscMz_xsTtAZYj_M_XSu"
}
如何将jobId 输出到文件中,使其不处于停止状态,以便我可以使用脚本下载多个存档?
【问题讨论】:
标签: bash amazon-web-services aws-cli amazon-glacier