我正在编写一个脚本,根据S3创建日期从S3中删除桶对象,但更重要的是它们的文件类型。我一直收到错误:
date: extra operand 'PREBACKups2/'
Try 'date --help' for more information.
这真的很有趣,因为我没有接近那个。 这是我在CLI上输入的内容:
./s3DeleteByDate "sqlbackup.sql07.useast1/Backups2" "2m"
这是我正在使用的代码库:
#!/bin/bash
# Usage: ./s3DeleteByDate "bucketname" "2m"
aws s3 ls s3://$1 | grep " DIR " -v | while read -r line;
do
createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -d -f "%Y-%m-%d %H:%M" "$createDate" +%s`
olderThan=`date -d $2 +%s`
if [[ $createDate -lt $olderThan ]]
then
fileName=`echo $line|awk {'print $4'}`
if [[ $fileName == "" ]]
then
printf 'Deleting "%s"\n' $fileName
aws s3 rm "$fileName" --exclude "*" --include "*.tmp"
fi
fi
done;
现在我很确定它实际上是在查看数据,但在执行之前会以某种方式崩溃。