<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>s3 — LowEndSpirit</title>
        <link>https://lowendspirit.com/index.php?p=/</link>
        <pubDate>Fri, 05 Jun 2026 10:18:36 +0000</pubDate>
        <language>en</language>
            <description>s3 — LowEndSpirit</description>
    <atom:link href="https://lowendspirit.com/index.php?p=/discussions/tagged/s3/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>A Bash Script to Auto Renew Minio SSL</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6499/a-bash-script-to-auto-renew-minio-ssl</link>
        <pubDate>Wed, 20 Sep 2023 04:46:04 +0000</pubDate>
        <category>Technical</category>
        <dc:creator>cloudpap</dc:creator>
        <guid isPermaLink="false">6499@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hello everyone,</p>

<p>I wrote a script using bash to help renew lets encrypt ssl issued using on a minio instance. Minio is an s3 compatible storage. Basically, the ssl is issued via certbot but files need to be moved around. I found myself every now and then having my minio ssl expired and I didn't know. so i created this script to check daily when the hostname ssl expires and to renew it automatically. hope it helps someone with a similar need.</p>

<pre><code>#!/bin/bash
PUSHOVER_API_TOKEN='xxxxx'
PUSHOVER_API_USER='xxxx'

HOSTNAME=$(hostname)


DEFAULT_PRIVATEKEY_LOCATION=/etc/letsencrypt/live/$HOSTNAME/privkey.pem
DEFAULT_CERTIFICATE_LOCATION=/etc/letsencrypt/live/$HOSTNAME/fullchain.pem

MINIO_USERNAME=minio-user
MINIO_PRIVATEKEY_LOCATION=/etc/minio/certs/private.key
MINIO_CERTIFICATE_LOCATION=/etc/minio/certs/public.crt


certexpiredays(){
    EXPIREDATE=$(openssl x509 -in $MINIO_CERTIFICATE_LOCATION -enddate -noout | sed "s/.*=\(.*\)/\1/")
    EXPIRE_DATE_IN_SECONDS=$(date -d "${EXPIREDATE}" +%s)
    NOW_IN_SECONDS=$(date -d now +%s)
    DATE_DIFF_IN_SECONDS=$(( (EXPIRE_DATE_IN_SECONDS - NOW_IN_SECONDS) / 86400 ))

    echo $DATE_DIFF_IN_SECONDS
}


notify(){
    STATUS=$1

    local TITLE="Renewal of Minio SSL"
    if [[  $STATUS -eq 0  ]]
    then
        local MESSAGE="SUCCESS! Minio SSL successfully replenished for https://$HOSTNAME:9000"
    else
        local MESSAGE="FAILED! Could not complete SSL renewal for minio. Status code: $STATUS for https://$HOSTNAME:9000"
    fi
    local SOUND=siren
    local TIME=$(date)
    local PRIORITY=0
    curl -s \
      --form-string "token=$PUSHOVER_API_TOKEN" \
      --form-string "user=$PUSHOVER_API_USER" \
      --form-string "title=$TITLE" \
      --form-string "message=$MESSAGE" \
      --form-string "timestamp=$TIME" \
      --form-string "sound=$SOUND" \
      --form-string "priority=$PRIORITY" \
      https://api.pushover.net/1/messages.json
}


#0.Check if renewal is needed in the first place

DAYS_TO_SSL_EXPIRY=$(certexpiredays)


if [[ (( $DAYS_TO_SSL_EXPIRY &lt; 5 ))]]
then
    #1.Renew SSL
    echo "===Commencing SSL renewal...==="

    echo 2 | sudo certbot certonly --standalone -d $HOSTNAME

    if [ $? -eq 0 ]
    then
        echo "==&gt;OK! SSL for minio has been requested successfully."
        echo "==&gt;Copying SSL files...."

        #2. Copy SSL files to correct directory
        sudo cp -v $DEFAULT_PRIVATEKEY_LOCATION $MINIO_PRIVATEKEY_LOCATION
        sudo cp -v $DEFAULT_CERTIFICATE_LOCATION $MINIO_CERTIFICATE_LOCATION

        if [ $? -eq 0 ]
        then
            echo "==&gt;OK! SSL files copied successfully..."

            #3. Change ownership of the SSLs
            sudo chown $MINIO_USERNAME:$MINIO_USERNAME $MINIO_PRIVATEKEY_LOCATION
            sudo chown $MINIO_USERNAME:$MINIO_USERNAME $MINIO_CERTIFICATE_LOCATION

            if [ $? -eq 0 ]
            then
                #4. Restart minio service
                sudo systemctl restart minio

                pgrep minio &gt;/dev/null 2&gt;&amp;1
                STATE=$(echo $?)

                if [[  $STATE == 0  ]]
                then
                    echo "==&gt;OK! Minio restarted successfully..."

                    echo "==&gt;SUCCESS! SSL for minio replenished successfully."
                    notify 0
                else
                    echo "==&gt;FAILED! Could not restart minio."
                    notify 1
                    exit
                fi
            fi
        else
            echo "==&gt;FAILED! There was an error copying SSL files."
            notify 2
            exit
        fi

    else
        echo "==&gt;FAILED! There was an error requesting for SSL for minio."
        notify 3
        exit
    fi
else
    echo "==&gt;SSL for minio still valid for $DAYS_TO_SSL_EXPIRY days. Nothing to do. Bye"
    exit
fi
</code></pre>
]]>
        </description>
    </item>
    <item>
        <title>Alternatives to IDrive Backup and IDrive e2</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/5783/alternatives-to-idrive-backup-and-idrive-e2</link>
        <pubDate>Wed, 19 Apr 2023 15:37:12 +0000</pubDate>
        <category>General</category>
        <dc:creator>JoeyJoJo</dc:creator>
        <guid isPermaLink="false">5783@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hi,</p>

<p>Are there any cheap alternatives to IDrive?</p>

<p>I have been using IDrive Backup for years. It's really cheap with 10TB for $5 if you create a new account every year.<br />
I have added IDrive e2 within the last year for two separate offsite locations, and it's coming up for renewal soon. I expect I will also be able to get 1TB for $4 again if I sign up for a new account under a different email.</p>

<p>I mainly backup from a Synology NAS so Degoo and Prism etc. will not be an option.</p>

<p>/Tom</p>
]]>
        </description>
    </item>
    <item>
        <title>Data to S3 - google or s3 which one is cheapest?</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/1067/data-to-s3-google-or-s3-which-one-is-cheapest</link>
        <pubDate>Mon, 18 May 2020 08:28:59 +0000</pubDate>
        <category>General</category>
        <dc:creator>verjin</dc:creator>
        <guid isPermaLink="false">1067@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Looking for bash script/sotfware or anything which can transfer data from Google Drive (2TB) to S3 storage. In short, with automation.</p>

<p>Another question: Google Drive (2TB, $10/month) or AWS-S3 (2TB) (which one is cheapest)</p>

<p>Please recommend and give your suggestions.</p>
]]>
        </description>
    </item>
    <item>
        <title>Borgbackup with backupninja to S3 of data on WHM</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/1119/borgbackup-with-backupninja-to-s3-of-data-on-whm</link>
        <pubDate>Tue, 26 May 2020 06:10:46 +0000</pubDate>
        <category>Help</category>
        <dc:creator>verjin</dc:creator>
        <guid isPermaLink="false">1119@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>As it is mention in title. Looking for guide to setup on existing environment of WHM.<br />
I ask in a <a rel="nofollow" href="https://talk.lowendspirit.com/discussion/comment/26299#Comment_26299" title="comment">comment</a> but no notice. <br />
Any help, guide and bash script would be great.</p>
]]>
        </description>
    </item>
   </channel>
</rss>
