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 :)