Make this executable and use it like so:
./hubic-wrapper.sh status ./hubic-wrapper.sh start ./hubic-wrapper.sh pause ./hubic-wrapper.sh resume ./hubic-wrapper.sh stop
A perfect fit for OMV anacron :)
| #!/bin/bash | |
| HUBIC="/usr/bin/hubic" | |
| USER="MY_USERNAME" | |
| SESSION_ADDR_FILE="/home/USERNAME/.dbus-session-addr" | |
| SESSION_PID_FILE="/home/USERNAME/.dbus-pid" | |
| HUBIC_STATE="" | |
| DBUS_EXISTS=0 | |
| DBUS_PID="" | |
| DBUS_ADDR="" | |
| current_hubic_state() { | |
| HUBIC_STATE="$($HUBIC status | egrep -i state | awk '{print tolower($2)}')" | |
| } | |
| if [ -f "$SESSION_PID_FILE" ] ; then | |
| DBUS_PID="$(cat $SESSION_PID_FILE)" | |
| fi | |
| if [ -f "$SESSION_ADDR_FILE" ] ; then | |
| DBUS_ADDR="$(cat $SESSION_ADDR_FILE)" | |
| fi | |
| if [ -n "$DBUS_PID" ] ; then | |
| if ps ax -u $USER | egrep "^$DBUS_PID" > /dev/null ; then | |
| DBUS_EXISTS=1 | |
| fi | |
| fi | |
| if [ $DBUS_EXISTS -eq 0 ] ; then | |
| $(dbus-daemon --session --fork --print-address > $SESSION_ADDR_FILE) | |
| $(ps ax -u $USER | grep dbus | grep address | cut --delimiter=" " --fields=1 > $SESSION_PID_FILE) | |
| DBUS_EXISTS=1 | |
| DBUS_PID="$(cat $SESSION_PID_FILE)" | |
| DBUS_ADDR="$(cat $SESSION_ADDR_FILE)" | |
| fi | |
| export DBUS_SESSION_BUS_ADDRESS="$DBUS_ADDR" | |
| current_hubic_state | |
| while [[ "$HUBIC_STATE" = "notconnected" || "$HUBIC_STATE" = "connecting" ]] ; do | |
| sleep 10 | |
| current_hubic_state | |
| done | |
| echo "Executing hubi $1..." | |
| $HUBIC $1 | |
| sleep 3 | |
| echo -e "\n\n" | |
| $HUBIC status | |
| exit 0 | |
Make this executable and use it like so:
./hubic-wrapper.sh status ./hubic-wrapper.sh start ./hubic-wrapper.sh pause ./hubic-wrapper.sh resume ./hubic-wrapper.sh stop
A perfect fit for OMV anacron :)