Bamboo scheduled backups fail with java.io.IOException - not a file

Platform Notice: Data Center Only - This article only applies to Atlassian apps on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

When logging into Bamboo, you see a banner saying "Bamboo failed to run the backup on DATE. See the logs for further details." A scheduled backup fails. The following error is logged in <bamboo-home>/logs/atlassian-bamboo.log:

INFO [scheduler_Worker-5] [XmlMigrator] Zipping artifacts dir:<backup-path>/bamboo_backup_2026_10_22.zip/artifacts ERROR [scheduler_Worker-5] [ScheduledBackupJob] java.io.IOException: <backup-path>/bamboo_backup_2026_10_22.zip/artifacts/plan-655361/shared/build-00004/JOB1/test-artifact.zip (not a file) java.io.IOException: <backup-path>/bamboo_backup_2026_10_22.zip/artifacts/plan-655361/shared/build-00004/JOB1/test-artifact.zip (not a file) at com.atlassian.bamboo.configuration.ScheduledBackupJob.executeBody(ScheduledBackupJob.java:69)

The path in the error points to an artifact inside the backup zip, not to the backup zip itself.

Diagnosis

Environment

This error occurs when all of the following are true:

  • Scheduled backups have Export artifacts turned on.

  • At least one artifact stored on the Bamboo server has a file name ending in .zip.

  • The backup file name matches an existing backup file in the backup folder.

If you reuse a backup file name but have no .zip artifacts, this error doesn't occur.

Diagnostic Steps

To rule out the issue being file corruption, you can run the following to see if the files are valid:

  • jar -tf <filename>

  • file <filename>

Cause

When Bamboo creates the backup file name from the Backup file date pattern, it doesn't check whether a file with that name already exists. The field accepts any valid SimpleDateFormat pattern as per https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html, so the pattern can produce a name that's already in use. When the backup file already exists, Bamboo opens it and writes the new backup into it instead of replacing it. Any .zip artifact saved by the previous backup is then treated as a folder inside the backup. Copying the new copy of that artifact, which is a regular file, onto that folder fails with "java.io.IOException ... (not a file)." error. This is tracked as a bug in BAM-26586.

Workaround

Prevent the file naming conflict:

Option A:

Change the naming pattern of backup files in Administration >> Scheduled backups

Reference: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

Option B:

Move the backup files out of bamboo backup directory to another location before the next scheduled backup.

Updated on October 22, 2026

Still need help?

The Atlassian Community is here for you.