> ## Documentation Index
> Fetch the complete documentation index at: https://perfgrid.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cronjobs

> Schedule commands in hosting-panel.net with a predefined cron expression or your own.

**Cronjobs** run a command on a schedule on your Grid Hosting account. Jobs run as the main user shown under **Account Information** on the dashboard (for example `c1234567`). The schedule is **UTC**. The shortest interval is **once per minute**.

The job’s `PATH` includes `/usr/local/bin`, so `composer` and `wp` (WP-CLI) are available without a full path. You can also call a versioned PHP binary, such as `php84`.

Cron does **not** email you the output. stdout and stderr are **not** discarded unless you redirect them. Handle output yourself, for example append to a log file or send it to `/dev/null`.

<Tip>
  If you only need to hit a URL on a timer, use [URL Scheduler](/docs/grid-hosting/tools/url-scheduler) instead of a full cron command.
</Tip>

## Add a cronjob

<Steps>
  <Step title="Log in">
    Log in to your hosting panel at [hosting-panel.net](https://hosting-panel.net).
  </Step>

  <Step title="Open Cronjobs">
    Go to **Tools** → **Cronjobs**.

    Each row shows **Cron Expression**, **Next Run**, and **Command**. You can **Edit** or **Delete** a job.

    <Frame>
      <img src="https://perfgrid-guides.s3.eu-west-par.io.cloud.ovh.net/c0AjrjKZGoLVAj35LtRaDpZZb.png" alt="Cronjobs overview with expression, next run, command, Edit, Delete, and Add new cronjob" style={{ borderRadius: '0.5rem' }} />
    </Frame>
  </Step>

  <Step title="Add new cronjob">
    Click **Add new cronjob**.
  </Step>

  <Step title="Set the schedule">
    Choose a **Predefined Cron Expression**, or type your own in **Cron Expression**, such as `* * * * *`. Picking a predefined option fills the expression field.

    Predefined options include:

    * Once Per Minute
    * Once Per 5 Minutes
    * Once Per 15 Minutes
    * Once Per 30 Minutes
    * Once Per Hour
    * Twice Per Day
    * Once Per Day
    * Once Per Week
    * On the 1st and 15th of the Month
    * Once Per Month
    * Yearly

    <Frame>
      <img src="https://s3-screenshots.s3.eu-west-par.io.cloud.ovh.net/tir7wyztzHwWgmLgXpmHHgLjB.png" alt="Cronjob predefined expression dropdown from once per minute through once per month" style={{ borderRadius: '0.5rem' }} />
    </Frame>
  </Step>

  <Step title="Set the command">
    Enter the **Command**. The form shows an example using your account path, such as `php84 /home/c1234567/domains/example.com/wp-cron.php`.

    Redirect stdout and stderr if you do not want them to accumulate.

    ```bash theme={null}
    wp cron event run --due-now --path=/home/c1234567/domains/example.com/public_html >/dev/null 2>&1
    ```

    ```bash theme={null}
    php84 /home/c1234567/domains/example.com/public_html/bin/magento cron:run >> /home/c1234567/logs/magento-cron.log 2>&1
    ```

    <Frame>
      <img src="https://perfgrid-guides.s3.eu-west-par.io.cloud.ovh.net/RmrWUnmEonDEBpF6Qq4gVFiTn.png" alt="Add new Cronjob form with predefined expression, cron expression field, command, and Add cronjob" style={{ borderRadius: '0.5rem' }} />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Add cronjob**. The job runs on the UTC schedule you set. Suspended accounts do not run cronjobs until the account is unsuspended.
  </Step>
</Steps>

The Cronjobs list is paginated when you have many jobs.

## Related articles

* [URL Scheduler](/docs/grid-hosting/tools/url-scheduler)
* [WordPress Site Overview](/docs/grid-hosting/wordpress/wordpress-site-overview)
* [Do you offer WP-CLI?](/docs/general/general/do-you-offer-wp-cli)
