26 lines
796 B
Bash
26 lines
796 B
Bash
#!/bin/sh
|
||
# 自动为新创建的存储桶设置 download(公开只读)策略
|
||
|
||
# 配置 mc 客户端
|
||
mc alias set myminio http://localhost:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
|
||
|
||
# 持续监控并设置新桶的策略
|
||
while true; do
|
||
# 获取所有存储桶
|
||
BUCKETS=$(mc ls myminio 2>/dev/null | awk '{print $NF}' | sed 's/\///')
|
||
|
||
for BUCKET in $BUCKETS; do
|
||
# 检查当前策略
|
||
CURRENT_POLICY=$(mc anonymous get myminio/${BUCKET} 2>/dev/null | grep -o "download\|upload\|public" || echo "none")
|
||
|
||
# 如果策略为 none(私有),则设置为 download
|
||
if [ "$CURRENT_POLICY" = "none" ]; then
|
||
echo "Setting download policy for bucket: ${BUCKET}"
|
||
mc anonymous set download myminio/${BUCKET}
|
||
fi
|
||
done
|
||
|
||
# 每 30 秒检查一次
|
||
sleep 30
|
||
done
|