我正在嘗試在 GCP 上列出機器影像并根據 CreatimeTimestamp 過濾結果 - 幾個小時/天。我正在嘗試做這樣的事情:
gcloud beta compute machine-images list --sort-by "creationTimestamp" --project=XXXXX --format="table(name,creationTimestamp.date('%Y-%m-%d-%T'))" --filter="CREATION_TIMESTAMP.date('%Y-%m-$d-%H:%M:%S')<'$(date -d '3 hours ago' " %Y-%m-%d-%H:%M:%S")'"
列出 3 小時前的機器映像
uj5u.com熱心網友回復:
更新
仔細考慮您的問題,我認為可能有比我的答案更簡單的方法(如下)。該檔案建議,你可以做直接比較的日期。所以,也許:
WHEN=$(date %s --date='3 hours ago') gcloud beta compute machine-images list \ --project=${PROJECT} \ --format="table(name,creationTimestamp)") \ --filter="creationTimestamp.date(\" %s\")>${WHEN}"
gcloud過濾器不包含外殼,因此您不能date在過濾器中包含例如 bash 的命令。
我認為(!)這樣做的方法是format輸出您想要的結果然后過濾。
IMAGES=$(gcloud beta compute machine-images list \
--project=${PROJECT} \
--format="csv[no-heading](name,creationTimestamp.date())")
for IMAGE in ${IMAGES}
do
IFS=, read NAME TIMESTAMP <<< ${IMAGE}
CREATED=$(date %s --date=${TIMESTAMP}
WHEN=$(date %s --date='3 hours ago')
if [ ${CREATED} -gt ${WHEN} ]
then
printf "Image: %s (Creation: %s)\n" NAME TIMESTAMP
fi
done
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/394483.html
