Files
mp-qvyun/cron.sh
2025-01-06 19:24:11 +08:00

34 lines
1.1 KiB
Bash

#!/bin/sh
LOG_FILE="/var/log/qvyun.sync.log"
MAX_SIZE=$((10 * 1024 * 1024)) # 10MB in bytes
# Clean up old log files
find "$(dirname "$LOG_FILE")" -name "$(basename "$LOG_FILE")*" -type f -mtime +7 -delete
# Check and rotate log if needed
if [ -f "$LOG_FILE" ]; then
FILE_SIZE=$(stat -f%z "$LOG_FILE")
if [ $FILE_SIZE -gt $MAX_SIZE ]; then
mv "$LOG_FILE" "${LOG_FILE}.$(date +%Y%m%d-%H%M%S)"
fi
fi
start_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "Start sync at $start_time" >>"$LOG_FILE"
/usr/local/bin/qvyun --config /usr/local/etc/qvyun.toml tasks discover --from /mnt/ypl/publish/ --to /mnt/ypl/publish/processed/1 2>&1 >>"$LOG_FILE"
/usr/bin/rsync -avh --progress /mnt/ypl/publish/processed/ server.ali.bj.01:/data 2>&1 >>"$LOG_FILE"
end_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "End sync at $end_time" >>"$LOG_FILE"
# Send notification via Gotify
/usr/bin/curl -X POST "https://gotify.jdwan.com/message?token=AknNrK_M.ZGqDz5" \
-H "Content-Type: application/json" \
-d "{
\"message\": \"Sync completed from $start_time to $end_time\",
\"title\": \"QVYun Sync Status\",
\"priority\": 5
}"