Automatic Structure Maintenance

Automatic Structure maintenance runs daily and performs Structure backup and database optimization. The optimization removes stale data from the database and may improve general Jira responsiveness.

Automatic maintenance can be run only with a valid Structure license.

To configure automatic Structure maintenance:

  1. Navigate to Administration | Structure | Maintenance
  2. Click Configure Scheduled Maintenance
  3. If scheduled maintenance is disabled, click Enable scheduled maintenance
  4. Select the maintenance schedule

  5. Select tasks that scheduled maintenance should run
  6. Configure additional task parameters, if any
  7. Click Apply

By default, scheduled maintenance is enabled and set to run daily at 3 AM.

Maintenance Schedule

You have several options to specify a maintenance schedule:

  1. Run every day at a specified time

    The time is specified in the server's time zone, displayed near the time fields.

  2. Run based on a crontab schedule
    Your schedule should follow standard crontab formatting. The schedule is a list of five, single-space-separated fields, representing: minute, hour, day, month, weekday. Each field can be a value, list of values or range. Month and weekday names can be given as the first three letters of the English names. Among numbers and month/weekday names, the following symbols can be used:
    • Asterisk ( * ) is used to include every value in that field. For example, * in the month field indicates every month of the year.
    • Question mark ( ? ) is used instead of '*' for leaving either day-of-month or day-of-week blank.

    • Comma ( , ) is used to separate items of a list. For example, using "MON,WED,FRI" in the 5th field (day of week) means Mondays, Wednesdays and Fridays.
    • Hyphen ( - ) defines a range between two specified values. For example, 2000–2010 indicates every year between 2000 and 2010, inclusive.
    • Slash ( / ) can be combined with a * to specify step values. For example, */5 in the minutes field indicates every 5 minutes.
    Schedule examples:
    • 0 * * * * = the top of every hour of every day.

    • */10 * * * * = every ten minutes.

    • 0 8-10 * * * = 8, 9 and 10 o'clock of every day.

    • 0 6,19 * * * = 6:00 AM and 7:00 PM every day.

    • 0/30 8-10 * * * = 8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 every day.

    • 0 9-17 * * MON-FRI = on the hour nine-to-five weekdays.

    • 0 0 25 12 ? = every Christmas Day at midnight.

Maintenance Tasks

Backup Structure data

Creates a backup of the Structure database in the export sub-directory under Jira home.

Parameters:

  • Include history – if checked, full structure change history will be included in the backup. If you have a lot of changes in structures, this setting may cause the backup to take some time, and the backup file to be large. If you don't need a history of structure changes, it is advised to turn this option off.

It is recommended that you maintain separate Structure backups, even though Structure data is backed up with Jira's normal backup, because this will allow you to restore from that data without rolling back changes in Jira.

Delete old backups

A backup is considered old if it is not among X latest backups (X is specified by the first parameter of this task) and it was made earlier than Y days ago (Y is specified by the second parameter). This task removes all such backups made by the Backup task.

Parameters:

  • Always keep X latest backups
  • Always keep backups made during the last Y days

Optimize favorites

If a user marks a structure as their favorite, Structure will keep this mark, even if the user is later deleted from Jira, and the popularity number of the structure will still accounts for that user. This task removes marks made by users no longer in Jira and recounts the structure popularity.

Optimize structures

If an issue is added to a structure and then deleted from Jira, the structure will still contain a reference to this issue (although it will not display it). This task removes references to deleted issues and other items that have become permanently unavailable.

Optimize view settings

If a view is deleted, some structure view settings may still reference it, and a blank view named ? (Unknown View) will be shown in its place. This task removes references to deleted views.

Optimize synchronizers

This removes an data related to synchronizers of a deleted structure.

Delete old synchronizer audit log records

This removes old records from the Synchronizer Audit Log, clearing up space in the database.

Parameters:

  • Keep records for the last X days.

If you set X to 0, the maintenance procedure will remove all records.

Reindex change history

Currently does nothing.

This task has remained as an option since Structure 2. Its purpose may be restored in a later version of Structure.

Optimize structure perspectives

Removes old perspectives that haven't been used by anyone for a certain amount of time.

Parameters:

  • X
Reindex structuresClears and recalculates issue-to-structure index, used to define which structures contain a specific issue. (Issues added with Generators are not counted.)
Delete old change history

The task removes old records from the change history. A history record is considered old if the change was made earlier than X days ago (X is specified by the first parameter) and it is not among the Y latest history records for the structure where the change was made (Y is specified by the second parameter).

Parameters:

  • Always keep change history for the last X days
  • Always keep the Y latest changes per structure

Running Maintenance Tasks Manually

You can run specific maintenance tasks at any time.

To run maintenance manually:

  1. Navigate to Administration | Structure | Maintenance
  2. Navigate to the Run Maintenance Now section
  3. Select tasks to run
  4. Configure additional task parameters, if any
  5. Click Run Maintenance Now

Running maintenance manually does not affect the automatic maintenance settings or schedule.