Get started

Bring in your work

Schedule a command

A command job tells Oh My Job what to execute, which machine to use, and when to run it. Install an agent on the target machine first.

Create the job

Open Jobs → New Job and choose the option for running a command. Give it a recognizable name, such as Backup Immich. Choose the target machine and enter the command:

/opt/scripts/backup-immich.sh

The command runs on the selected machine. Paths, installed programs, and file permissions must be valid there. The machine’s agent service user needs permission to execute the script and access its inputs and destinations.

Choose when it runs

Use the schedule form for recurring minutes, hours, days, weeks, or months, or enter a five-field cron expression:

0 2 * * *

This means every day at 02:00 in the job’s selected timezone. Choose an explicit IANA timezone, such as Europe/Lisbon or UTC. Review the next-occurrence preview before saving.

Oh My Job owns this schedule. You don’t need a matching crontab entry on the machine, and the agent does not schedule work independently while disconnected.

Set execution options

Expand Advanced settings when the defaults need changing:

The agent can impose local limits. Server configuration does not grant the execution user additional operating-system permissions.

Verify a first run

Save the job, then select Run now. Open the new run and check its status and output tab. A successful command returns exit code 0.

Use a harmless test command before scheduling a script that changes important data:

printf 'Hello from Oh My Job\n'

Change or pause a job

The job detail page lets you edit the definition and enable or disable its schedule. Completed runs keep snapshots of the definition used at execution time, so changing a command does not rewrite old history.

If another scheduler should continue executing this work, create a monitored job instead.

Something unclear? Open an issue