Crontab UI
Backups
backup Wed Sep 30 2026 13:08:37 GMT 0800 (Hong Kong Standard Time).db
backup Wed Sep 30 2026 13:07:32 GMT 0800 (Hong Kong Standard Time).db
backup Mon Sep 28 2026 17:26:24 GMT 0800 (Hong Kong Standard Time).db
backup Mon Sep 28 2026 17:25:44 GMT 0800 (Hong Kong Standard Time).db
backup Mon Sep 28 2026 17:24:46 GMT 0800 (Hong Kong Standard Time).db
backup Wed Sep 23 2026 12:07:39 GMT 0800 (Hong Kong Standard Time).db
backup Mon Sep 21 2026 10:40:07 GMT 0800 (Hong Kong Standard Time).db
Fork me on Github
backup Wed Sep 30 2026 13:08:37 GMT 0800 (Hong Kong Standard Time).db
Id
Job
Time
Last Modified
1. AjRgo0mjeP8Qc8wN
run-parts /etc/periodic/daily
0 2 * * *
Wed Sep 30 2026 13:07:32 GMT+0800 (Hong Kong Standard Time)
2. EXVt3jnFlo2q7Qaz
run-parts /etc/periodic/hourly
0 * * * *
Wed Sep 30 2026 13:07:32 GMT+0800 (Hong Kong Standard Time)
3. Iq7gxnFBErtiuqJM
run-parts /etc/periodic/weekly
0 3 * * 6
Wed Sep 30 2026 13:07:32 GMT+0800 (Hong Kong Standard Time)
4. YzNaTzvTvA1iOezf
run-parts /etc/periodic/15min
*/15 * * * *
Wed Sep 30 2026 13:07:32 GMT+0800 (Hong Kong Standard Time)
5. jZRgU2YnbClAxuEN
run-parts /etc/periodic/monthly
0 5 1 * *
Wed Sep 30 2026 13:07:32 GMT+0800 (Hong Kong Standard Time)
6. HYbvabBN2wQLL0nv
((({ DOMAIN="totolab.dedyn.io"; SUB="*"; TOKEN="6KcUM719mLQy8CTcYB8BCjjW6yZE"; LOG=""; ERR=""; L="${LOG:-/dev/stdout}"; E="${ERR:-/dev/stderr}"; HOST="${SUB:+$SUB.}${DOMAIN}"; ENCHOST="${HOST//\*/%2A}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$E"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$E"; else DNS=$(dig +short "$HOST" @ns1.desec.io 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | head -n1); [ -z "$DNS" ] && DNS=$(getent ahostsv4 "$HOST" 2>/dev/null | awk 'NR==1{print $1}'); DNS="${DNS:-NONE}"; DEC="none"; [ "$CUR" != "$DNS" ] && DEC="changed"; H=$(date '+\%H' | tr -d '\\ '); M=$(date '+\%M' | tr -d '\\ '); [ "$DEC" = "none" ] && [ $(( 10#${H:-0} % 6 )) -eq 0 ] && [ $(( 10#${M:-0} )) -lt 5 ] && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else if curl -fS "https://update.dedyn.io/?hostname=$ENCHOST" -u "$HOST:$TOKEN" 2>> "$E" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$E"; fi; fi; fi; } | tee /etc/crontabs/JfYp5C8VE5BwFbhG.stdout) 3>&1 1>&2 2>&3 | tee /etc/crontabs/JfYp5C8VE5BwFbhG.stderr) 3>&1 1>&2 2>&3); if test -f /etc/crontabs/JfYp5C8VE5BwFbhG.stderr; then date >> "/db/logs/JfYp5C8VE5BwFbhG.log"; cat /etc/crontabs/JfYp5C8VE5BwFbhG.stderr >> "/db/logs/JfYp5C8VE5BwFbhG.log"; fi; if test -f /etc/crontabs/JfYp5C8VE5BwFbhG.stdout; then date >> "/db/logs/JfYp5C8VE5BwFbhG.stdout.log"; cat /etc/crontabs/JfYp5C8VE5BwFbhG.stdout >> "/db/logs/JfYp5C8VE5BwFbhG.stdout.log"; fi
5 * * * *
Mon Sep 28 2026 17:26:24 GMT+0800 (Hong Kong Standard Time)
7. JfYp5C8VE5BwFbhG
DOMAIN="totolab.dedyn.io"; SUB="*"; TOKEN="6KcUM719mLQy8CTcYB8BCjjW6yZE"; LOG=""; ERR=""; L="${LOG:-/dev/stdout}"; E="${ERR:-/dev/stderr}"; HOST="${SUB:+$SUB.}${DOMAIN}"; ENCHOST="${HOST//\*/%2A}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$E"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$E"; else DNS=$(dig +short "$HOST" @ns1.desec.io 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' | head -n1); [ -z "$DNS" ] && DNS=$(getent ahostsv4 "$HOST" 2>/dev/null | awk 'NR==1{print $1}'); DNS="${DNS:-NONE}"; DEC="none"; [ "$CUR" != "$DNS" ] && DEC="changed"; H=$(date '+\%H' | tr -d '\\ '); M=$(date '+\%M' | tr -d '\\ '); [ "$DEC" = "none" ] && [ $(( 10#${H:-0} % 6 )) -eq 0 ] && [ $(( 10#${M:-0} )) -lt 5 ] && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else if curl -fS "https://update.dedyn.io/?hostname=$ENCHOST" -u "$HOST:$TOKEN" 2>> "$E" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | DNS IP: $DNS | Current IP: $CUR" >> "$L"; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$E"; fi; fi; fi
*/5 * * * *
Wed Sep 30 2026 13:08:23 GMT+0800 (Hong Kong Standard Time)
8. XKjbGS0ckAZBZm1E
((({ DOMAIN="totolab.dedyn.io"; SUB="*"; TTL="3600"; TOKEN="viYBjKFZwaBwd5GFGSz9ZToTxyPm"; LOG="/var/log/desec_update.log"; ERR="/var/log/desec_err.log"; HOST="${SUB:+$SUB.}${DOMAIN}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$ERR"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$ERR"; else OLD=$(cat /tmp/desec_ip 2>/dev/null || echo "NONE"); DEC="none"; [ "$CUR" != "$OLD" ] && DEC="changed"; [ "$DEC" = "none" ] && { [ -n "$(find /tmp/desec_ip -mmin +360 2>/dev/null)" ] || [ "$OLD" = "NONE" ]; } && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | Prior IP: $OLD | Current IP: $CUR" >> "$LOG"; else if curl -fsS "https://update.dedyn.io/?hostname=$HOST&ttl=$TTL" -u "$HOST:$TOKEN" 2>> "$ERR" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | Prior IP: $OLD | Current IP: $CUR | TTL: $TTL" >> "$LOG" && echo "$CUR" > /tmp/desec_ip; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$ERR"; fi; fi; fi; } | tee /etc/crontabs/im8TzZbaPmWazz86.stdout) 3>&1 1>&2 2>&3 | tee /etc/crontabs/im8TzZbaPmWazz86.stderr) 3>&1 1>&2 2>&3); if test -f /etc/crontabs/im8TzZbaPmWazz86.stderr; then date >> "/db/logs/im8TzZbaPmWazz86.log"; cat /etc/crontabs/im8TzZbaPmWazz86.stderr >> "/db/logs/im8TzZbaPmWazz86.log"; fi; if test -f /etc/crontabs/im8TzZbaPmWazz86.stdout; then date >> "/db/logs/im8TzZbaPmWazz86.stdout.log"; cat /etc/crontabs/im8TzZbaPmWazz86.stdout >> "/db/logs/im8TzZbaPmWazz86.stdout.log"; fi; /usr/local/bin/node /crontab-ui/bin/crontab-ui-mailer.js im8TzZbaPmWazz86 /etc/crontabs/im8TzZbaPmWazz86.stdout /etc/crontabs/im8TzZbaPmWazz86.stderr
@weekly
Mon Sep 28 2026 17:26:46 GMT+0800 (Hong Kong Standard Time)
9. im8TzZbaPmWazz86
DOMAIN="totolab.dedyn.io"; SUB="*"; TTL="3600"; TOKEN="viYBjKFZwaBwd5GFGSz9ZToTxyPm"; LOG="/var/log/desec_update.log"; ERR="/var/log/desec_err.log"; HOST="${SUB:+$SUB.}${DOMAIN}"; CUR=$(curl -fsS https://checkip.dedyn.io 2>> "$ERR"); if [ -z "$CUR" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] Failed to fetch WAN IP" >> "$ERR"; else OLD=$(cat /tmp/desec_ip 2>/dev/null || echo "NONE"); DEC="none"; [ "$CUR" != "$OLD" ] && DEC="changed"; [ "$DEC" = "none" ] && { [ -n "$(find /tmp/desec_ip -mmin +360 2>/dev/null)" ] || [ "$OLD" = "NONE" ]; } && DEC="forced"; if [ "$DEC" = "none" ]; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: none] Host: $HOST | Prior IP: $OLD | Current IP: $CUR" >> "$LOG"; else if curl -fsS "https://update.dedyn.io/?hostname=$HOST&ttl=$TTL" -u "$HOST:$TOKEN" 2>> "$ERR" > /dev/null; then echo "$(date '+\%Y-\%m-\%d \%T') [Decision: $DEC] Host: $HOST | Prior IP: $OLD | Current IP: $CUR | TTL: $TTL" >> "$LOG" && echo "$CUR" > /tmp/desec_ip; else echo "$(date '+\%Y-\%m-\%d \%T') [ERROR] deSEC update call failed for $HOST" >> "$ERR"; fi; fi; fi
5 * * * *
Sat Sep 19 2026 15:56:34 GMT+0800 (Hong Kong Standard Time)
Restore
Delete
Job
Name (Optional)
Command
Quick Schedule
Every Minute
Every 5 Min
Hourly
Daily
Weekly
Monthly
Yearly
Startup
Minute
Hour
Day
Month
Week
Set
Job
Enable error logging.
Mailing
Hooks
Message
Message
Crontab Preview
This is a preview of what will be deployed. It may differ from the currently active crontab if you have unsaved changes.