I am using TigrisFS to make backups using BorgBackup to a Tigris S3 Bucket. This works fine but I am encountering spurious problems that sometimes, BorgBackup's removal of its lock-file in the end of a backup run (purging old archives in my specific case) sometimes gets lost before unmounting. Because of the orphaned lock-file, subsequent backup runs fail to start.
I am running this from a fly.io Dockerfile based VM that only runs for the duration of the backup.
- VM starts up
- Script mounts TigrisFS for the BorgBackup repository (and another TigrisFS for the data to be backed up)
- Script runs BorgBackup to backup and prune archives, each run creates a lock-dir with a lock-file and removes them after the operation.
- Script unmounts TigrisFS using
fusermount3 -u (waiting for its completion)
- Script terminates
- fly.io shuts down the VM on exit of the main Dockerfile
CMD.
Now, I am wondering: Do I have to expect that some background operation needs to run past the exit of fusermount3 -u in order to fully commit last-second changes (like deleting the lock-file) to Tigris S3? If so, what should my script wait for?
Context: See https://github.com/SupaAutoFly/S3BorgBackup/blob/037b77f6f73e831c33df0c0b7a5438bc02da9c47/scripts/backup.py
I am using TigrisFS to make backups using BorgBackup to a Tigris S3 Bucket. This works fine but I am encountering spurious problems that sometimes, BorgBackup's removal of its lock-file in the end of a backup run (purging old archives in my specific case) sometimes gets lost before unmounting. Because of the orphaned lock-file, subsequent backup runs fail to start.
I am running this from a fly.io Dockerfile based VM that only runs for the duration of the backup.
fusermount3 -u(waiting for its completion)CMD.Now, I am wondering: Do I have to expect that some background operation needs to run past the exit of
fusermount3 -uin order to fully commit last-second changes (like deleting the lock-file) to Tigris S3? If so, what should my script wait for?Context: See https://github.com/SupaAutoFly/S3BorgBackup/blob/037b77f6f73e831c33df0c0b7a5438bc02da9c47/scripts/backup.py