每日备份 2026-06-10 12:57:13
This commit is contained in:
1 parent
fda2ccb8c2
commit
3d2e638c6a
244 files changed
+58890
-3
No files matched your search
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# dododo 服务: 支持并发执行
|
||||
# 修复版: 智能等待,不再疯狂重启
|
||||
|
||||
LOG_FILE="/var/log/openclaw/dododo.log"
|
||||
LOCK_FILE="/tmp/dododo_service.lock"
|
||||
|
||||
# 避免重复启动
|
||||
if [ -f "$LOCK_FILE" ]; then
|
||||
PID=$(cat "$LOCK_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "$(date) - dododo 已在运行 (PID: $PID)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo $$ > "$LOCK_FILE"
|
||||
|
||||
log() {
|
||||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> $LOG_FILE
|
||||
}
|
||||
|
||||
log "========== dododo_service 启动 =========="
|
||||
|
||||
while true; do
|
||||
# 检查是否应该运行
|
||||
CURRENT_MIN=$(date '+%M')
|
||||
CURRENT_HOUR=$(date '+%H')
|
||||
|
||||
# 只在每小时的 02-55 分运行
|
||||
if [ "$CURRENT_MIN" -ge 2 ] && [ "$CURRENT_MIN" -lt 55 ]; then
|
||||
log "========== $CURRENT_HOUR:$CURRENT_MIN - dododo.py 启动 =========="
|
||||
|
||||
cd /root/.openclaw/workspace && python3 dododo.py --auto --wait 30 --stop-minute 55 --workers 3 2>&1 | while read line; do
|
||||
log "$line"
|
||||
done
|
||||
|
||||
EXIT_CODE=$?
|
||||
log "dododo.py 退出码: $EXIT_CODE"
|
||||
else:
|
||||
# 不在运行时间段,等待到下个02分
|
||||
if [ "$CURRENT_MIN" -lt 2 ]; then
|
||||
WAIT_MIN=$((2 - CURRENT_MIN))
|
||||
else
|
||||
WAIT_MIN=$((60 - CURRENT_MIN + 2))
|
||||
fi
|
||||
WAIT_SEC=$((WAIT_MIN * 60))
|
||||
log "不在运行时间 ($CURRENT_HOUR:$CURRENT_MIN),等待 ${WAIT_MIN} 分钟..."
|
||||
sleep $WAIT_SEC
|
||||
fi
|
||||
|
||||
# 休息一下再检查,避免CPU空转
|
||||
sleep 10
|
||||
done
|
||||
Reference in new issue
Block a user