aaden-cli 1.6.113 → 1.6.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -19179,7 +19179,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.19.2","description":"P
|
|
|
19179
19179
|
/***/ ((module) => {
|
|
19180
19180
|
|
|
19181
19181
|
"use strict";
|
|
19182
|
-
module.exports = {"i8":"1.6.
|
|
19182
|
+
module.exports = {"i8":"1.6.114"};
|
|
19183
19183
|
|
|
19184
19184
|
/***/ })
|
|
19185
19185
|
|
|
@@ -28,7 +28,8 @@ if [ -n "$LINE" ]; then
|
|
|
28
28
|
/*) [ -x "$CMD" ] && { echo "do-log 指向 $CMD,存在,不动"; exit 0; } ;;
|
|
29
29
|
*) [ -x "/usr/bin/$CMD" ] || [ -x "/bin/$CMD" ] && { echo "do-log 用 $CMD,cron 的 PATH 里找得到,不动"; exit 0; } ;;
|
|
30
30
|
esac
|
|
31
|
-
|
|
31
|
+
# 经环境变量传给 awk:-v 会把行里的反斜杠当转义处理,匹配不上
|
|
32
|
+
NEW=$(printf '%s\n' "$CUR" | LINE="$LINE" WANT="$WANT" awk '$0 == ENVIRON["LINE"] { print ENVIRON["WANT"]; next } { print }')
|
|
32
33
|
WHAT="do-log 那一行指向的命令不存在,已改成标准写法。原来是:$LINE"
|
|
33
34
|
else
|
|
34
35
|
NEW=$(printf '%s\n%s\n' "$CUR" "$WANT")
|
|
@@ -36,6 +37,8 @@ else
|
|
|
36
37
|
fi
|
|
37
38
|
|
|
38
39
|
printf '%s\n' "$NEW" | sudoS crontab -u aaden - || { echo "写 crontab 失败"; exit 1; }
|
|
40
|
+
# 读回来确认真的改上了
|
|
41
|
+
sudoS crontab -l -u aaden 2>/dev/null | grep -qxF "$WANT" || { echo "改完读回来没有标准的 do-log 行,原样:$LINE"; exit 1; }
|
|
39
42
|
echo "$WHAT"
|
|
40
43
|
DEVICE_ID=$(grep -e DeviceId /var/www/html/Resource/config/config.ini 2>/dev/null | cut -d = -f 2 | tr -d '" \r')
|
|
41
44
|
[ -n "$DEVICE_ID" ] && python3 -c 'import json, sys, urllib.request; urllib.request.urlopen(urllib.request.Request("https://cloud-v2.aaden.io/deviceLog/createEvent", json.dumps({"deviceId": sys.argv[1], "content": sys.argv[2] + " result:0", "type": "系统生成", "operator": "patch ensureDoLogCron"}).encode(), {"Content-Type": "application/json"}), timeout=10)' "$DEVICE_ID" "$WHAT" 2>/dev/null
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# 一次性修复:aaden 的 crontab 里 do-log 不是每 5 分钟跑的,改成 */5。
|
|
3
|
+
# 起因:10-08 用诊断命令查 1541,发现它的 do-log 写成了 "59 4 * * *"——每天只在 04:59 上报一次,
|
|
4
|
+
# 云端看它一直「失联」,也领不到云端命令(命令和自动补跑都挂在 do-log 上)。
|
|
5
|
+
# 202610072130ensureDoLogCron.sh 只查了 do-log 那一行在不在、命令存不存在,没查频率,所以要再跑一遍。
|
|
6
|
+
# 只改那一行(@reboot 那行不动),其它行原样保留;改了就把原来那行报给云端。
|
|
7
|
+
sudoS() { echo "Innerken322." | sudo -S -p '' "$@"; }
|
|
8
|
+
CLI=/usr/local/bin/aaden-cli
|
|
9
|
+
WANT="*/5 * * * * $CLI do-log"
|
|
10
|
+
|
|
11
|
+
[ -x "$CLI" ] || { echo "没有 $CLI,跳过"; exit 0; }
|
|
12
|
+
# do-log 在 root 的 crontab 或 /etc/cron.d 里的老设备:不往 aaden 这边加,免得每 5 分钟报两次
|
|
13
|
+
if sudoS crontab -l -u root 2>/dev/null | grep -v '^[[:space:]]*#' | grep -q 'do-log' \
|
|
14
|
+
|| grep -rqs --exclude='*.dpkg-*' 'aaden-cli do-log' /etc/cron.d 2>/dev/null; then
|
|
15
|
+
echo "do-log 在 root 的 crontab 或 /etc/cron.d 里,不动 aaden 的"; exit 0
|
|
16
|
+
fi
|
|
17
|
+
CUR=$(sudoS crontab -l -u aaden 2>/dev/null) || { echo "aaden 没有 crontab,跳过(整套定时任务缺失要 aaden-cli fix-cronjob)"; exit 0; }
|
|
18
|
+
|
|
19
|
+
# 定时的那一行(不算 @reboot)
|
|
20
|
+
LINE=$(printf '%s\n' "$CUR" | grep -v '^[[:space:]]*#' | grep -v '^[[:space:]]*@' | grep -m1 'do-log')
|
|
21
|
+
if [ -n "$LINE" ]; then
|
|
22
|
+
SCHED=$(printf '%s' "$LINE" | awk '{print $1, $2, $3, $4, $5}')
|
|
23
|
+
CMD=$(printf '%s' "$LINE" | awk '{print $6}')
|
|
24
|
+
OK_CMD=0
|
|
25
|
+
case "$CMD" in
|
|
26
|
+
/*) [ -x "$CMD" ] && OK_CMD=1 ;;
|
|
27
|
+
*) { [ -x "/usr/bin/$CMD" ] || [ -x "/bin/$CMD" ]; } && OK_CMD=1 ;;
|
|
28
|
+
esac
|
|
29
|
+
if [ "$SCHED" = "*/5 * * * *" ] && [ "$OK_CMD" = 1 ]; then
|
|
30
|
+
echo "do-log 每 5 分钟、命令存在,不动"; exit 0
|
|
31
|
+
fi
|
|
32
|
+
# 经环境变量传给 awk:-v 会把行里的反斜杠当转义处理,匹配不上
|
|
33
|
+
NEW=$(printf '%s\n' "$CUR" | LINE="$LINE" WANT="$WANT" awk '$0 == ENVIRON["LINE"] { print ENVIRON["WANT"]; next } { print }')
|
|
34
|
+
WHAT="do-log 定时任务不对,已改成每 5 分钟。原来是:$LINE"
|
|
35
|
+
else
|
|
36
|
+
NEW=$(printf '%s\n%s\n' "$CUR" "$WANT")
|
|
37
|
+
WHAT="aaden 的 crontab 里没有定时的 do-log,已补上每 5 分钟一次"
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
printf '%s\n' "$NEW" | sudoS crontab -u aaden - || { echo "写 crontab 失败"; exit 1; }
|
|
41
|
+
# 读回来确认真的改上了
|
|
42
|
+
sudoS crontab -l -u aaden 2>/dev/null | grep -qxF "$WANT" || { echo "改完读回来没有标准的 do-log 行,原样:$LINE"; exit 1; }
|
|
43
|
+
echo "$WHAT"
|
|
44
|
+
DEVICE_ID=$(grep -e DeviceId /var/www/html/Resource/config/config.ini 2>/dev/null | cut -d = -f 2 | tr -d '" \r')
|
|
45
|
+
[ -n "$DEVICE_ID" ] && python3 -c 'import json, sys, urllib.request; urllib.request.urlopen(urllib.request.Request("https://cloud-v2.aaden.io/deviceLog/createEvent", json.dumps({"deviceId": sys.argv[1], "content": sys.argv[2] + " result:0", "type": "系统生成", "operator": "patch fixDoLogSchedule"}).encode(), {"Content-Type": "application/json"}), timeout=10)' "$DEVICE_ID" "$WHAT" 2>/dev/null
|
|
46
|
+
exit 0
|
package/package.json
CHANGED
|
@@ -28,7 +28,8 @@ if [ -n "$LINE" ]; then
|
|
|
28
28
|
/*) [ -x "$CMD" ] && { echo "do-log 指向 $CMD,存在,不动"; exit 0; } ;;
|
|
29
29
|
*) [ -x "/usr/bin/$CMD" ] || [ -x "/bin/$CMD" ] && { echo "do-log 用 $CMD,cron 的 PATH 里找得到,不动"; exit 0; } ;;
|
|
30
30
|
esac
|
|
31
|
-
|
|
31
|
+
# 经环境变量传给 awk:-v 会把行里的反斜杠当转义处理,匹配不上
|
|
32
|
+
NEW=$(printf '%s\n' "$CUR" | LINE="$LINE" WANT="$WANT" awk '$0 == ENVIRON["LINE"] { print ENVIRON["WANT"]; next } { print }')
|
|
32
33
|
WHAT="do-log 那一行指向的命令不存在,已改成标准写法。原来是:$LINE"
|
|
33
34
|
else
|
|
34
35
|
NEW=$(printf '%s\n%s\n' "$CUR" "$WANT")
|
|
@@ -36,6 +37,8 @@ else
|
|
|
36
37
|
fi
|
|
37
38
|
|
|
38
39
|
printf '%s\n' "$NEW" | sudoS crontab -u aaden - || { echo "写 crontab 失败"; exit 1; }
|
|
40
|
+
# 读回来确认真的改上了
|
|
41
|
+
sudoS crontab -l -u aaden 2>/dev/null | grep -qxF "$WANT" || { echo "改完读回来没有标准的 do-log 行,原样:$LINE"; exit 1; }
|
|
39
42
|
echo "$WHAT"
|
|
40
43
|
DEVICE_ID=$(grep -e DeviceId /var/www/html/Resource/config/config.ini 2>/dev/null | cut -d = -f 2 | tr -d '" \r')
|
|
41
44
|
[ -n "$DEVICE_ID" ] && python3 -c 'import json, sys, urllib.request; urllib.request.urlopen(urllib.request.Request("https://cloud-v2.aaden.io/deviceLog/createEvent", json.dumps({"deviceId": sys.argv[1], "content": sys.argv[2] + " result:0", "type": "系统生成", "operator": "patch ensureDoLogCron"}).encode(), {"Content-Type": "application/json"}), timeout=10)' "$DEVICE_ID" "$WHAT" 2>/dev/null
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# 一次性修复:aaden 的 crontab 里 do-log 不是每 5 分钟跑的,改成 */5。
|
|
3
|
+
# 起因:10-08 用诊断命令查 1541,发现它的 do-log 写成了 "59 4 * * *"——每天只在 04:59 上报一次,
|
|
4
|
+
# 云端看它一直「失联」,也领不到云端命令(命令和自动补跑都挂在 do-log 上)。
|
|
5
|
+
# 202610072130ensureDoLogCron.sh 只查了 do-log 那一行在不在、命令存不存在,没查频率,所以要再跑一遍。
|
|
6
|
+
# 只改那一行(@reboot 那行不动),其它行原样保留;改了就把原来那行报给云端。
|
|
7
|
+
sudoS() { echo "Innerken322." | sudo -S -p '' "$@"; }
|
|
8
|
+
CLI=/usr/local/bin/aaden-cli
|
|
9
|
+
WANT="*/5 * * * * $CLI do-log"
|
|
10
|
+
|
|
11
|
+
[ -x "$CLI" ] || { echo "没有 $CLI,跳过"; exit 0; }
|
|
12
|
+
# do-log 在 root 的 crontab 或 /etc/cron.d 里的老设备:不往 aaden 这边加,免得每 5 分钟报两次
|
|
13
|
+
if sudoS crontab -l -u root 2>/dev/null | grep -v '^[[:space:]]*#' | grep -q 'do-log' \
|
|
14
|
+
|| grep -rqs --exclude='*.dpkg-*' 'aaden-cli do-log' /etc/cron.d 2>/dev/null; then
|
|
15
|
+
echo "do-log 在 root 的 crontab 或 /etc/cron.d 里,不动 aaden 的"; exit 0
|
|
16
|
+
fi
|
|
17
|
+
CUR=$(sudoS crontab -l -u aaden 2>/dev/null) || { echo "aaden 没有 crontab,跳过(整套定时任务缺失要 aaden-cli fix-cronjob)"; exit 0; }
|
|
18
|
+
|
|
19
|
+
# 定时的那一行(不算 @reboot)
|
|
20
|
+
LINE=$(printf '%s\n' "$CUR" | grep -v '^[[:space:]]*#' | grep -v '^[[:space:]]*@' | grep -m1 'do-log')
|
|
21
|
+
if [ -n "$LINE" ]; then
|
|
22
|
+
SCHED=$(printf '%s' "$LINE" | awk '{print $1, $2, $3, $4, $5}')
|
|
23
|
+
CMD=$(printf '%s' "$LINE" | awk '{print $6}')
|
|
24
|
+
OK_CMD=0
|
|
25
|
+
case "$CMD" in
|
|
26
|
+
/*) [ -x "$CMD" ] && OK_CMD=1 ;;
|
|
27
|
+
*) { [ -x "/usr/bin/$CMD" ] || [ -x "/bin/$CMD" ]; } && OK_CMD=1 ;;
|
|
28
|
+
esac
|
|
29
|
+
if [ "$SCHED" = "*/5 * * * *" ] && [ "$OK_CMD" = 1 ]; then
|
|
30
|
+
echo "do-log 每 5 分钟、命令存在,不动"; exit 0
|
|
31
|
+
fi
|
|
32
|
+
# 经环境变量传给 awk:-v 会把行里的反斜杠当转义处理,匹配不上
|
|
33
|
+
NEW=$(printf '%s\n' "$CUR" | LINE="$LINE" WANT="$WANT" awk '$0 == ENVIRON["LINE"] { print ENVIRON["WANT"]; next } { print }')
|
|
34
|
+
WHAT="do-log 定时任务不对,已改成每 5 分钟。原来是:$LINE"
|
|
35
|
+
else
|
|
36
|
+
NEW=$(printf '%s\n%s\n' "$CUR" "$WANT")
|
|
37
|
+
WHAT="aaden 的 crontab 里没有定时的 do-log,已补上每 5 分钟一次"
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
printf '%s\n' "$NEW" | sudoS crontab -u aaden - || { echo "写 crontab 失败"; exit 1; }
|
|
41
|
+
# 读回来确认真的改上了
|
|
42
|
+
sudoS crontab -l -u aaden 2>/dev/null | grep -qxF "$WANT" || { echo "改完读回来没有标准的 do-log 行,原样:$LINE"; exit 1; }
|
|
43
|
+
echo "$WHAT"
|
|
44
|
+
DEVICE_ID=$(grep -e DeviceId /var/www/html/Resource/config/config.ini 2>/dev/null | cut -d = -f 2 | tr -d '" \r')
|
|
45
|
+
[ -n "$DEVICE_ID" ] && python3 -c 'import json, sys, urllib.request; urllib.request.urlopen(urllib.request.Request("https://cloud-v2.aaden.io/deviceLog/createEvent", json.dumps({"deviceId": sys.argv[1], "content": sys.argv[2] + " result:0", "type": "系统生成", "operator": "patch fixDoLogSchedule"}).encode(), {"Content-Type": "application/json"}), timeout=10)' "$DEVICE_ID" "$WHAT" 2>/dev/null
|
|
46
|
+
exit 0
|