Dropbox percentage used (en)
From Conky PitStop
Dropbox Percentage Used
Language | English Français |
Scripts, bash and LUA, to display your DropBox statistics, also some single line commands to do the same. Thanks to wlourf and mobilediesel for these.
Don't forget to make the script executable.
Bash script: dropbox.sh
#!/bin/bash # dropbox.sh dbox=2.5 #size of your dropbox account size=$(du -c $HOME/Dropbox | awk -v dbox=$dbox '/total/ {print 100*$1/1048576/dbox}') echo ${size%.*}
For drawing a bar :
${execibar 60 $HOME/.conky/dropbox.sh}
See Note at the bottom of the page for "sizing" the execibar that has no sizing paramaters.
Samples:Bash script: dropbox2.sh
NOTE: the use of %.2f to give 2 decimal places, a changeable variable.
#!/bin/bash # dropbox2.sh # by: wlourf & mobilediesel dbox=3.0 ### size of your dropbox account size=$(du -c /media/5/Dropbox | awk -v dbox=$dbox '/total/ {print 100*$1/1048576/dbox}') echo ${size%.*} echo ## NOTE: BEGIN{Size=3.0} in two lines below du -c /PATH_TO/Dropbox | awk 'BEGIN{Size=3.0} /total/ {Used=$1/1048576;printf "Size: %.2f GB",Size;printf " Used: %.2f GB",Used;printf " Free: %.2f GB\n",Size-Used}' du -c /PATH_TO/Dropbox | awk 'BEGIN{Size=3.0} /total/{Used=$1/10485.76/Size;printf "Size: %.2f GB",Size;printf " Used: %.2f%",Used;printf " Free: %.2f%\n",100-Used}'
Bash script: dropbox3.sh
This one uses sqlite3
#!/bin/bash # mobilediesel Size=${1-2} #size of your dropbox account Dropbox=$(sqlite3 $HOME/.dropbox/config.db "select * from config where key like '%path%'" | sed -e "/dropbox_path|/ s/dropbox\_path|//") Used=$(du -c $Dropbox) Perc=$(awk -v Size=$Size '/total/ {Used=100*$1/1048576/Size;printf "%.1f",Used;printf " %.1f",100-Used}' <<<"$Used") Space=$(awk -v Size=$Size '/total/ {Used=$1/1048576;printf "%.1f",Used;printf " %.1f",Size-Used}' <<<"$Used") echo "Size: ${Size} Used: ${Space% *}GB (${Perc% *}%) Free: ${Space#* }GB (${Perc#* }%)"
dropbox2.sh and dropbox3.sh in action:
DropBox with single command lines in Conky
Directly in a conky (with 2.5, the size of the Dropbox account), for drawing a bar :
${execibar 60 du -c ~/Dropbox | awk '/total/ {print $1/10485.76/2.5}' }
NOTES: Output can be rounded with "%.2f"', where 2 is the number of decimal to display. BEGIN{Size=2.5} The size of your DropBox
Here is an example for rounded output without decimals :
${execi 60 du -c ~/Dropbox | awk '/total/ {printf"%.0f",$1/10485.76/2.5}' }
Some variations :
${execi 60 du -c ~/Dropbox | awk 'BEGIN{Size=2.5} /total/ {Used=$1/1048576;printf"Size: %.1f GB",Size;printf " Used: %.1f GB",Used;printf " Free: %.1fGB\n",Size-Used}'}
Output : Size: 2.5 GB Used: 0.2 GB Free: 2.3GB
${execi 60 du -c ~/Dropbox | awk 'BEGIN{Size=2.5} /total/{Used=$1/10485.76/Size;printf "Size: %.1f GB",Size;printf " Used:%.0f%",Used;printf " Free: %.0f%\n",100-Used}'}
Output : Size: 2.5 GB Used:7% Free: 93%
In Lua: dropbox.lua
--[[dropbox.lua By: wlourf call similar to this lua_load /PATH/TO/dropbox.lua ]] function conky_dropbox_pc(dbox,refresh) if conky_parse("$updates")%refresh == 0 then local f = io.popen("du -c $HOME/Dropbox | grep total | awk '{print $1}'" ) local size = f:read("*l") f:close() value = math.floor(100*size/1048576/dbox) end return value end
and below TEXT:
${lua_bar dropbox_pc 2.5 5}
- first argument is the size of the Dropbox
- second argument is the refresh rate of the bar (i.e with 5 and an update_interval set to 10 seconds, the bar will be updated every 50 seconds)
Note : execibar has no way to size it but you can size all bars with :
default_bar_size 90 20 TEXT