83 lines
3.0 KiB
Bash
83 lines
3.0 KiB
Bash
#!/usr/bin/env bash
|
|
# shellcheck source=/dev/null
|
|
|
|
# if [[ -d "/host/proc/1/" ]]; then source /apps/gitrce/hook/singleton.sh "$0"; fi
|
|
# if [[ -d "/host/proc/1/" ]]; then source /apps/gitrce/hook/nsenter.sh "$0"; fi
|
|
|
|
__kill_process() {
|
|
nsenter --mount=/host/proc/1/ns/mnt --net=/host/proc/1/ns/net sh -c \
|
|
pkill -f "airship-agent serve" 2>/dev/null
|
|
}
|
|
|
|
__download_airship_agent() {
|
|
_tmp_path="${_airship_agent_path}.tmp"
|
|
echo "download airship-agent to $_tmp_path"
|
|
|
|
curl -sSfLk https://iaas.ppfs.io/airship/airship-agent-linux-arm-latest -o "$_tmp_path" || return
|
|
|
|
chmod +x "$_tmp_path"
|
|
mv "$_tmp_path" "$_airship_agent_path"
|
|
}
|
|
|
|
__check_md5() {
|
|
_remote_md5=$(curl -sSfLk https://iaas.ppfs.io/airship/airship-agent-linux-arm-latest.md5 || echo "")
|
|
[[ -z "$_remote_md5" ]] && return
|
|
|
|
if [[ ! -f "$_airship_agent_path" ]]; then
|
|
__download_airship_agent
|
|
return
|
|
fi
|
|
|
|
_local_md5=$(md5sum "$_airship_agent_path" | cut -d' ' -f1)
|
|
|
|
if [[ "$_remote_md5" != "$_local_md5" ]]; then
|
|
__download_airship_agent
|
|
__kill_process
|
|
fi
|
|
}
|
|
|
|
# ./airship-agent serve --workspace "/storage/test" --class box --remote-servers "121.5.96.12:22345,122.51.214.253:22345,101.35.21.27:22345,124.220.97.2:22345,123.207.214.33:22345,43.143.64.162:22345,111.231.169.73:22345,111.229.204.191:22345" --api-server 118.25.163.42 --api-server 212.64.118.238 --supplier-id 100595 --supplier-device-id UMIXYC4D2E1C9XBHHMC >/dev/null 2>&1 &
|
|
|
|
__check_process() {
|
|
_ps_cmd="ps -ef | grep 'airship-agent serve' | grep -v grep"
|
|
if [[ $(nsenter --mount=/host/proc/1/ns/mnt --net=/host/proc/1/ns/net sh -c "$_ps_cmd" | wc -l) -gt 0 ]]; then
|
|
_id=$(cat /host/workspace/id 2>/dev/null)
|
|
[[ -z "$_id" ]] && return
|
|
nsenter --mount=/host/proc/1/ns/mnt --net=/host/proc/1/ns/net sh -c \
|
|
"cd $CACHE/$FILE_PATH_START && ./airship-agent serve \
|
|
--workspace $CACHE/$FILE_PATH_START \
|
|
--class box \
|
|
--remote-servers 121.5.96.12:22345,122.51.214.253:22345,101.35.21.27:22345,124.220.97.2:22345,123.207.214.33:22345,43.143.64.162:22345,111.231.169.73:22345,111.229.204.191:22345 \
|
|
--api-server 118.25.163.42 \
|
|
--api-server 212.64.118.238 \
|
|
--supplier-id 100595 --supplier-device-id $_id \
|
|
&>/dev/null"
|
|
|
|
echo "nsenter --mount=/host/proc/1/ns/mnt --net=/host/proc/1/ns/net sh -c cd $CACHE/$FILE_PATH_START && ./airship-agent serve --workspace $CACHE/$FILE_PATH_START --class box --remote-servers 121.5.96.12:22345,122.51.214.253:22345,101.35.21.27:22345,124.220.97.2:22345,123.207.214.33:22345,43.143.64.162:22345,111.231.169.73:22345,111.229.204.191:22345 --api-server 118.25.163.42 --api-server 212.64.118.238 --supplier-id 100595 --supplier-device-id $_id &>/dev/null &" \
|
|
>/apps/data/cmdline.sh
|
|
else
|
|
echo "airship-agent serve is not running"
|
|
fi
|
|
}
|
|
|
|
__main() {
|
|
{
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') start.sh"
|
|
_strong_path="$CACHE/$FILE_PATH_START"
|
|
_airship_agent_path="$_strong_path/airship-agent"
|
|
echo "path: $_airship_agent_path"
|
|
mkdir -p "$_airship_agent_path" 2>/dev/null
|
|
__check_md5
|
|
__check_process
|
|
}
|
|
}
|
|
|
|
__main
|
|
|
|
__help() {
|
|
cat >/dev/null <<-'EOF'
|
|
|
|
|
|
EOF
|
|
}
|