How to do backup locally without data duplication?

I've read a previous question which is now already a year old.

I have a backup agent running on a server, and I'd like to backup my elasticsearch data. I'd like to make sure that any backup I run will be consistent in case I need to restore it.

I've read the documentation about snapshotting, and it seems focused on backing up to remote machines, or to a different place on the same machine. I cannot backup to a remote machine and I'd like to avoid creating another copy of the data locally: ideally it would be great if I could quiesce the data locally and then let the backup agent run (unfreezing the data after the agent is done).

Is there a good way of achieving this?

I can see three options so far: i) stop elasticsearch before the backup, start it after the backup; ii) close all the indexes before the backup, reopen them after the backup; iii) just run the backup with no quiescing at all

Any recommendations?

Thanks a lot in advance for your help.

The first two would work, if you can deal with your cluster being unavailable. The third wouldn't as your data would change.

Thanks @warkolm

Can you think of a way of doing this without the downtime? Do you think elastic will consider adding a data quiesce feature in their commercial offering?

Probably not, no, we have the snapshot API.