mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-06-07 17:07:58 +08:00
Refactor
This commit is contained in:
parent
a039eb859d
commit
bffced2a47
102
agent/agent.sh
102
agent/agent.sh
@ -1,9 +1,18 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -u
|
set -u
|
||||||
|
|
||||||
# Functions
|
VERSION="4"
|
||||||
HEADER="VirtualDSM Agent:"
|
HEADER="VirtualDSM Agent:"
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
|
||||||
|
finish() {
|
||||||
|
|
||||||
|
echo "$HEADER Shutting down.."
|
||||||
|
exit
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function checkNMI {
|
function checkNMI {
|
||||||
|
|
||||||
local nmi
|
local nmi
|
||||||
@ -14,54 +23,12 @@ function checkNMI {
|
|||||||
echo "$HEADER Received shutdown request through NMI.."
|
echo "$HEADER Received shutdown request through NMI.."
|
||||||
|
|
||||||
/usr/syno/sbin/synoshutdown -s > /dev/null
|
/usr/syno/sbin/synoshutdown -s > /dev/null
|
||||||
exit
|
finish
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
finish() {
|
function downloadUpdate {
|
||||||
|
|
||||||
echo "$HEADER Shutting down.."
|
|
||||||
exit
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
trap finish SIGINT SIGTERM
|
|
||||||
|
|
||||||
ts=$(date +%s%N)
|
|
||||||
checkNMI
|
|
||||||
|
|
||||||
VERSION="4"
|
|
||||||
echo "$HEADER starting v$VERSION.."
|
|
||||||
|
|
||||||
# Install packages
|
|
||||||
|
|
||||||
first_run=false
|
|
||||||
|
|
||||||
for filename in /usr/local/packages/*.spk; do
|
|
||||||
if [ -f "$filename" ]; then
|
|
||||||
first_run=true
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ "$first_run" = true ]; then
|
|
||||||
for filename in /usr/local/packages/*.spk; do
|
|
||||||
if [ -f "$filename" ]; then
|
|
||||||
|
|
||||||
BASE=$(basename "$filename" .spk)
|
|
||||||
BASE="${BASE%%-*}"
|
|
||||||
|
|
||||||
echo "$HEADER Installing package ${BASE}.."
|
|
||||||
|
|
||||||
/usr/syno/bin/synopkg install "$filename" > /dev/null
|
|
||||||
/usr/syno/bin/synopkg start "$BASE" > /dev/null &
|
|
||||||
|
|
||||||
rm "$filename"
|
|
||||||
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
|
|
||||||
TMP="/tmp/agent.sh"
|
TMP="/tmp/agent.sh"
|
||||||
rm -f "${TMP}"
|
rm -f "${TMP}"
|
||||||
@ -89,7 +56,52 @@ else
|
|||||||
else
|
else
|
||||||
echo "$HEADER update error, curl error: $?"
|
echo "$HEADER update error, curl error: $?"
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function installPackages {
|
||||||
|
|
||||||
|
for filename in /usr/local/packages/*.spk; do
|
||||||
|
if [ -f "$filename" ]; then
|
||||||
|
|
||||||
|
BASE=$(basename "$filename" .spk)
|
||||||
|
BASE="${BASE%%-*}"
|
||||||
|
|
||||||
|
echo "$HEADER Installing package ${BASE}.."
|
||||||
|
|
||||||
|
/usr/syno/bin/synopkg install "$filename" > /dev/null
|
||||||
|
/usr/syno/bin/synopkg start "$BASE" > /dev/null &
|
||||||
|
|
||||||
|
rm "$filename"
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
trap finish SIGINT SIGTERM
|
||||||
|
|
||||||
|
ts=$(date +%s%N)
|
||||||
|
checkNMI
|
||||||
|
|
||||||
|
echo "$HEADER started v$VERSION.."
|
||||||
|
|
||||||
|
# Install packages
|
||||||
|
|
||||||
|
first_run=false
|
||||||
|
|
||||||
|
for filename in /usr/local/packages/*.spk; do
|
||||||
|
if [ -f "$filename" ]; then
|
||||||
|
first_run=true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$first_run" = true ]; then
|
||||||
|
|
||||||
|
installPackages
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
downloadUpdate
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elapsed=$((($(date +%s%N) - $ts)/1000000))
|
elapsed=$((($(date +%s%N) - $ts)/1000000))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user