Skip to content
Snippets Groups Projects
Commit 9034731c authored by Erick Hitter's avatar Erick Hitter
Browse files

Add configuration options

parent 8138d786
Branches
Tags
1 merge request!1MVP
Pipeline #1818 passed
This commit is part of merge request !1. Comments created here will be created in the context of that merge request.
.idea .idea
*.iml *.iml
config/.s3cfg
config/bucket
config/expire_age_days
...@@ -44,6 +44,6 @@ build:dev: ...@@ -44,6 +44,6 @@ build:dev:
stage: deploy stage: deploy
script: script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:dev" ./context/ - docker build --pull -t "$CI_REGISTRY_IMAGE:dev" ./context/
#- docker push "$CI_REGISTRY_IMAGE:dev" - docker push "$CI_REGISTRY_IMAGE:dev"
except: except:
- master - master
# s3-object-expirer # s3-object-expirer
Expire (delete) S3 objects older than a given age. Expire (delete) S3 objects older than a given age.
\ No newline at end of file
## Usage
1. Copy `./config/example.s3cfg` to `./config/.s3cfg` and enter your bucket details.
1. Create `./config/bucket` with the name of the bucket to purge.
1. Create `./config/expire_age_days` with a number that specifies the maximum age of items in the bucket. Anything created more than that many days ago will be purged.
1. `docker-compose up`
[default]
access_key =
secret_key =
host_base =
host_bucket =
bucket_location =
...@@ -10,3 +10,6 @@ RUN apt-get update \ ...@@ -10,3 +10,6 @@ RUN apt-get update \
s4cmd \ s4cmd \
&& apt-get clean \ && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
ADD s3-purge.sh /usr/local/bin/s3-purge
ADD crontab /etc/cron.d/s3-purge
20 1 * * * root s3-purge > /var/log/s3-purge 2>/dev/null
#!/bin/bash #!/bin/bash
# Usage: ./deleteOld "bucketname" "30 days" export BUCKET_NAME=$(cat /s3_bucket)
export EXPIRE_AGE_DAYS=$(cat /s3_expire_days)
s3cmd ls s3://$1 | while read -r line; s4cmd --config=/s3_config ls s3://$BUCKET_NAME | while read -r line;
do do
createDate=`echo $line|awk {'print $1" "$2'}` createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -d"$createDate" +%s` createDate=`date -d"$createDate" +%s`
olderThan=`date -d"-$2" +%s` olderThan=`date -d"-$EXPIRE_AGE_DAYS" +%s`
if [[ $createDate -lt $olderThan ]] if [[ $createDate -lt $olderThan ]]
then then
fileName=`echo $line|awk {'print $4'}` fileName=`echo $line|awk {'print $4'}`
echo $fileName echo $fileName
if [[ $fileName != "" ]] if [[ $fileName != "" ]]
then then
s3cmd del "$fileName" s4cmd --config=/s3_config del "$fileName"
fi fi
fi fi
done; done;
version: "3.7"
services:
s3_object_expirer:
image: containers.ethitter.com:443/docker/s3-object-expirer/s3-object-exporer:latest
restart: unless-stopped
configs:
s3_config:
file: ./config/.s3cfg
s3_bucket:
file: ./config/bucket
s3_expire_days:
file: ./config/expire_age_days
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment