# Creating Jobs

## Overview

A Job is a scheduled operation that is used to perform a backup and comparison of your Project(s) to the current instance in the Copia Server.  Copia provides two options for creating jobs and scheduling backups:

* **Sitewide Backup Schedule (Site Jobs)**\
  A sitewide Job backs up all the projects in a site. At the scheduled start time, a job run for each project will be queued and run in order. This ensures all projects are backed up, without having to configure a job for each project manually.
  * *To configure a Sitewide Backup Schedule see the Site Settings section of the documentation:*  [**Sitewide Backup Schedule**](/docs/devicelink/sitesandagents/sites/site-settings.md#sitewide-backup-schedule)<br>
* **Project Backup Schedule (Standard Jobs)**\
  These Jobs have a 1-1 relationships with a Project.  These give you more control over each specific Job setting (such as timeouts, auto-commit settings and more), but may take longer to configure for each project.&#x20;
  * *Continue reading below to setup Jobs for your projects*&#x20;

{% hint style="info" %}
Contact Copia about automated options to create and configure your Jobs!
{% endhint %}

## Creating a Job for a Project

To create a Job, navigate to the *Jobs* tab and press the *Add a Job* button.

![](/files/7p341PzxvM8y6TiV7b2p)

### General Settings

You should see a modal that allows you to configure your Job settings. Use the *Project Name* drop-down to select a Project to backup. The name of the chosen Project will be used to automatically populate the *Job Name* field (which can be modified if desired). The *Timeout Duration* refers to the amount of time given to a queued Job. You can modify it if more or less time is needed.

![](/files/OgnkSVlo0N6EZNM1QnID)

### Scheduling

Scheduling allows you to set how often your Job should run. To turn on the scheduling feature, click the *Schedule Job* toggle.

The *Daily* option preselects weekdays. You can include weekends by enabling the *Include Weekends* checkbox. Use the *Time* selector to set the desired start time for the Job.

![](/files/WScC4TkQXjhFRiklXl9D)

The *Specific day(s) each week* option allows you to choose which days of the week you prefer to perform a Project backup. \_\_ Select which days of the week to run the Job and the set the time the Jobs should run with the *Time* selector.

![](/files/Ck9YWFgO5OMFRARkwaZI)

If you prefer a more complex schedule, Copia provides the option to enter a "cron" schedule. Cron is a very simple but powerful scheduling format that is commonly used by system administrators. In this case, we provide a link to the [crontab.guru](https://crontab.guru/) site for syntax and [examples ](https://crontab.guru/examples.html)to help you get started. Once you enter a correct cron schedule, a "plain text" interpretation will be displayed above the expression so you can validate your syntax.

![](/files/qx88s9CWwDQ3WqdB0sr2)

### Auto-Commit

Auto-Commit is a feature that allows you to backup, monitor, and be notified if your Devices change without any additional manual involvement. Auto-Commit will create a new branch to store this data so that it does not interfere with development. In this way, Auto-Commit provides easy disaster recovery and access to all machine updates.

When auto-commit is enabled, the device will be compared to the latest commit in the DeviceLink branch. If a difference is detected, a new commit will automatically be created, using the latest backup from the device. In this way the DeviceLink branch should always reflect the current state of the device.

<figure><img src="/files/ZcLgLAmcOigh4W5GTeQY" alt=""><figcaption></figcaption></figure>

The Auto-Commit feature is automatically enabled for new Jobs. By default, Auto-Commit is set to create a new branch with the *DeviceLink/ProjectName* syntax. If development on the Device is rare, or if you wish to use your own branch name, you can enter a new branch name into the *New Branch Name* field.

<figure><img src="/files/dyPcFcXraDvyaFKT9boP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If a user chooses to disable Auto-Commit, they will need to manually create a Pull Request to update the branch that the project is stored on.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.copia.io/docs/devicelink/jobs/creating-jobs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
