ECS:如何使用 s3test.sh 脚本测试 S3 创建存储桶、上传对象、读取对象、删除对象、删除存储桶
Summary: 如何使用 s3test 脚本测试 S3 创建存储区、上传对象、读取对象、删除对象、删除存储区。
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
在继续作之前,请查看 s3curl 的以下相关知识库文章,以帮助确认 S3 功能:
ECS:如何使用 s3curl.pl 脚本执行基本 S3作。
1: 以 root 用户身份通过 SSH 登录 ECS 节点。
2: 使用 vi 创建文件:
/usr/share/s3curl/s3test.sh
3: 将以下内容复制到文件中。确保 修改目标 IP 以匹配 ECS 的 IP,因为脚本将在放置在目标中的任意 IP 上运行。有关 S3CURL_ID,请参阅 ECS:如何使用 s3curl.pl 脚本执行基本 S3作。
!/bin/bash
TARGET="10.xx.xx.xx7 10.xx.xx.xx8 10.xx.xx.xx9 10.xx.xx.xx0"
S3CURL="/usr/share/s3curl/s3curl.pl"
S3CURL_ID="--id=friendlymick"
OBJECT_NAME="newfile"cat
echo "s3curl upload test" > $OBJECT_NAME
PASS="echo -e \e[32mPASSED\e[0m"
FAIL="echo -e \e[31mFAILED\e[0m"
for ip in $(echo $TARGET)
do
echo
echo "Node - $ip"
BUCKET_NAME="bucket_$(date +%d%b_%H%M)_${ip}"
echo "Bucket/Object name: $BUCKET_NAME/$OBJECT_NAME"
echo "---------------------------------------------------------"
# Test bucket creation
echo -n "Create Bucket: "
STATUS=$($S3CURL $S3CURL_ID --createBucket -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 200 && $PASS || { $FAIL; continue; }
# Upload Object
echo -n "Upload Object: "
STATUS=$($S3CURL $S3CURL_ID --put $OBJECT_NAME -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 200 && $PASS || $FAIL
# Read Object
echo -n "Read Object: "
STATUS=$($S3CURL $S3CURL_ID -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s 2> /dev/null)
test "$STATUS" == "s3curl upload test" && $PASS || $FAIL
# Delete Object
echo -n "Delete Object: "
STATUS=$($S3CURL $S3CURL_ID --delete -- http://${ip}:9020/${BUCKET_NAME}/${OBJECT_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 204 && $PASS || $FAIL
# Delete Bucket
echo -n "Delete Bucket: "
STATUS=$($S3CURL $S3CURL_ID --delete -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 204 && $PASS || $FAIL
# Verifying Deletion
echo -n "Verify Deletion of bucket: "
STATUS=$($S3CURL $S3CURL_ID -- http://${ip}:9020/${BUCKET_NAME} -s -w "%{http_code}" -o /dev/null 2> /dev/null)
test ${STATUS:-0} -eq 404 && $PASS || $FAIL
done
4: 发出以下命令以运行脚本:
# sh s3test.sh
所有检测都应返回为通过。如果某些检测未返回为 PASSED,请联系 ECS 支持。
provo:/usr/share/s3curl # sh s3test.sh Node - 10.xx.xx.xx7 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx7/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx8 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx8/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx9 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx9/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED Node - 10.xx.xx.xx0 Bucket/Object name: bucket_14Apr_1009_10.xx.xx.xx0/newfile --------------------------------------------------------- Create Bucket: PASSED Upload Object: PASSED Read Object: PASSED Delete Object: PASSED Delete Bucket: PASSED Verify Deletion of bucket: PASSED
Affected Products
ECS Appliance Hardware Gen1 U-SeriesProducts
ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without EncryptionArticle Properties
Article Number: 000023816
Article Type: How To
Last Modified: 08 Sep 2025
Version: 6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.