使用unix脚本,如何检查s3 bucket是否有所需数量(10)的文件可用,大小

9lowa7mx  于 2023-03-02  发布在  Unix
关注(0)|答案(1)|浏览(203)

使用Unix脚本,如何检查s3 bucket是否有所需数量(10)的文件可用,如果可用,则所有10个文件的大小均大于0 KB。如果缺少任何文件,我们应记录该文件并通知源团队。如果任何文件的大小为0 KB,我们应记录该文件并通知源团队。
我创建了一个fileslist.txt文件,其中将有10个预期的文件名进行检查。然后使用下面的awk获得aws文件列表

s3_files=$(aws s3 ls $SrcDir/ | awk '{print $4}')

然后无法继续验证文件的可用性、大小。

vshtjzan

vshtjzan1#

您希望如何通知来源团队?
您可以尝试bash脚本,例如:

#!/bin/bash
SrcDir="s3://.../"
s3_files=$(aws s3 ls $SrcDir/ | awk '{print $4}')

# check if all the expected files are present:
echo "Checking for expected files in S3 bucket..."
for file in $(cat filelist.txt); 
do
    if [[ ! "$s3_files" =~ "$file" ]]; then
        echo "$file is missing from S3 bucket"
    fi
done

# check the size of files
echo "Checking size of the files..."
for file in $(cat filelist.txt); 
do
    size=$(aws s3 ls $SrcDir/$file | awk '{print $3}')
    if [[ $size -eq 0 ]]; then
        echo "$file size is 0 KB"
    fi
done

并检索源团队的echo消息

相关问题