Bulk Import
Already have cron jobs running? Import them all at once from your crontab or Kubernetes CronJob manifests. Preview before importing and pick exactly which entries to create.
Bulk import lets you create monitors from existing infrastructure definitions instead of adding them manually. DeadPing parses crontab files and Kubernetes CronJob YAML manifests, extracts job names and schedules, and creates monitors with a single click after you preview the results.
Using the Dashboard
The easiest way to bulk import is through the dashboard UI at /dashboard/import. Paste your crontab or Kubernetes YAML, preview the parsed entries, and select which monitors to create.
- Navigate to Dashboard → Import
- Select the format: Crontab or Kubernetes YAML
- Paste your configuration
- Review the parsed entries in the preview table
- Deselect any entries you don't want to import
- Click Import Selected
Crontab Format
Paste the output of crontab -l. DeadPing parses each line to extract the cron expression and uses the command name as the monitor name. Comments and blank lines are ignored.
# Database backup - runs every 5 minutes
*/5 * * * * /usr/bin/backup-db.sh
# Nightly report generation
0 2 * * * /usr/local/bin/nightly-report.py
# Health check every 6 hours
0 */6 * * * /opt/scripts/health-check.sh
# Weekly cleanup on Sundays at midnight
0 0 * * 0 /usr/bin/weekly-cleanup.shThis would create four monitors named backup-db.sh, nightly-report.py, health-check.sh, and weekly-cleanup.sh with their respective schedules.
Kubernetes YAML Format
Paste one or more Kubernetes CronJob manifests. DeadPing extracts the schedule from spec.schedule and the monitor name from metadata.name.
apiVersion: batch/v1
kind: CronJob
metadata:
name: nightly-backup
spec:
schedule: "0 2 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup
image: my-backup:latest
command: ["./backup.sh"]
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: hourly-sync
spec:
schedule: "0 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: sync
image: my-sync:latest
command: ["./sync.sh"]This would create two monitors: nightly-backup with a 0 2 * * * schedule and hourly-sync with a 0 * * * * schedule.
API Endpoint
You can also import monitors programmatically via the API:
POST /api/monitors/import
# Import from crontab
curl -X POST https://deadping.io/api/monitors/import \
-H "X-API-Key: dp_live_..." \
-H "Content-Type: application/json" \
-d '{
"format": "crontab",
"content": "*/5 * * * * /usr/bin/backup-db.sh
0 2 * * * /usr/local/bin/nightly-report.py"
}'# Import from Kubernetes YAML
curl -X POST https://deadping.io/api/monitors/import \
-H "X-API-Key: dp_live_..." \
-H "Content-Type: application/json" \
-d '{
"format": "kubernetes",
"content": "apiVersion: batch/v1
kind: CronJob
metadata:
name: nightly-backup
spec:
schedule: "0 2 * * *"
..."
}'What Gets Parsed
| Format | Monitor Name | Schedule |
|---|---|---|
| Crontab | Command filename (e.g. backup-db.sh) | Cron expression from the line |
| Kubernetes | metadata.name | spec.schedule |
Tips
- Import counts against your plan's monitor limit (Free: 20, Pro: 100, Business: 200)
- Duplicate names are allowed – DeadPing will create separate monitors for each entry
- After importing, you'll need to add the ping curl command to each job's script using the generated token
- Use the preview step to verify that cron expressions were parsed correctly before importing