SmartFile API and Bash

Bash | | API / Platform

Most systems administrators know bash and are comfortable on the command line.  Smartfile makes it easy for them to monitor their developer’s disk usage from bash using just curl.

You’ll need both the api key and the api password.

curl -X GET 'https://${apikey}:${apipassword}@app.smartfile.com/api/2/whoami/

This will gather all account info and present a basic text that works fine for grep.  Other formats would require the installation of js or similar, so they are avoided for this case.  Additional formats and available info can be seen here.

disk_bytes_limit will provide total space available
disk_bytes_tally will provide currently used space

Smartfile does not update space usage immediately. Changes are queued and then updated within a few minutes depending on system load at the time.

#!/bin/bash
#set -x
server=app.smartfile.com
apikey=XXXXXXXXXXXXXXXXX
apipass=XXXXXXXXXXXXXXXXX
#Define endpoint
endpoint="https://${apikey}:${apipass}@${server}"
#Gather disk size from text output
disksize=`curl -X GET $endpoint/api/2/whoami/?format=txt | grep disk_bytes_limit | awk -F : '{ print $2 }' | sed 's/,$//'`
#Gather disk space usage from text output
diskuse=`curl -X GET $endpoint/api/2/whoami/?format=txt | grep disk_bytes_tally | awk -F : '{ print $2 }' | sed 's/,$//'`
#Multiple by 100 to avoid the need of bc
percent=$(($diskuse*100))
#Create %
usage=$(($percent/$disksize))
echo $usage

Chris Sheaves

I am the Director of Products at SmartFile. I'm tasked with managing and overseeing the evolution of SmartFile's products and solutions. I'm great at listening to our customers and translating their wants and needs to our engineers. I also oversee all IT operations and infrastructure.

More Posts

Follow Me:
TwitterLinkedIn

Tags:

Leave a Reply

  • (will not be published)