Cross-device link not permitted

I am running FileMaker Server 20.3.1 on AWS on Ubuntu 22.04.03 with a swap file and the latest OttoFMS version 4.0.7. The migration across the same server fails for me with the error “cross-device link not permitted.”

Here is the error log:
backup or copy failed: test.fmp12. Error: EXDEV: cross-device link not permitted, rename ‘/opt/FileMaker/FileMaker Server/Data/ClonesOnly/OTTO_test.fmp12_nF8oJ/Datenbank/test Clone.fmp12’ ->‘/backup/Backup/OttoFMS/outbox/build_QdpX3F8DtQud/test.fmp12’

The install operation works without any issues and creates a new file.

What exactly is the problem, and is there a solution for it?

Best regards,

is it because the backup dir is on a separate SSD Drive?

Filesystem     1K-blocks     Used Available Use% Mounted on
tmpfs             395232      896    394336   1% /run
/dev/nvme0n1p1  35499004 16300352  19182268  46% /
tmpfs            1976144        0   1976144   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
/dev/nvme1n1     8378336  5058196   3320140  61% /data
/dev/nvme2n1    20961280  5366144  15595136  26% /backup
tmpfs             395228        4    395224   1% /run/user/1000


Yes that could very well be the issue. You will need to configure your other drive with the proper permissions for OttoFMS to have access to it. Let me ask our hosting team. I think they have instructions for how to set this up.


After looking a little deeper. This is indeed a bug. We’ll fix it in the next release. Which we will do very soon. In the meantime, the only option is to not use a separate drive for Filemaker Servers backup.

Sorry for the inconvenience.


thanks Todd, no problem.
I will wait for the update, because all servers are setup this way…


Hello Rico

We just released Version 4.0.8. It should fix your problem.



hi Todd

Thank you for the quick response. I updated the installation using the following command: sudo curl -sSL “” | bash. However, now the migration has crashed.

2024-02-05T13:22:39.712Z error UnauthorizedError: Token is missing - {“service”:“express-error-handler”}
2024-02-05T13:22:39.754Z info GET: /otto/api/info
2024-02-05T13:22:39.848Z info GET: /otto/api/info
2024-02-05T13:22:39.921Z info GET: /otto/api/info
2024-02-05T13:22:45.491Z info GET: /otto/api/info
2024-02-05T13:22:48.222Z info web app login successful
2024-02-05T13:22:48.396Z info refreshed the session token
2024-02-05T13:24:29.563Z info otto internal database up to date
2024-02-05T13:24:29.574Z info Listening on http://localhost:3061
2024-02-05T13:24:29.574Z info environment “production”
2024-02-05T13:24:29.575Z info version “4.0.8”
2024-02-05T13:24:29.576Z info Creating otto proxy conf file - {“file”:“/opt/FileMaker/FileMaker Server/NginxServer/conf/otto_https.conf”}
2024-02-05T13:24:29.577Z info Creating otto proxy conf file backup - {“file”:"/opt/FileMaker/FileMaker Server/NginxServer/conf/fms_nginx.con>
2024-02-05T13:24:29.579Z info updating fms_nginx.conf
2024-02-05T13:24:29.761Z info started watching offsite backup
2024-02-05T13:24:29.762Z info started watching for hostname changes
2024-02-05T13:24:30.883Z info Restarted httpserver
2024-02-05T13:24:30.884Z info Reverse Proxy installed or updated
2024-02-05T13:24:31.225Z info License status: valid
2024-02-05T13:24:59.498Z info GET: /otto/api/info
2024-02-05T13:25:02.713Z info GET: /otto/api/build/list
2024-02-05T13:25:06.502Z info POST: /otto/api/deployment
2024-02-05T13:25:10.864Z info POST: /otto/api/build
2024-02-05T13:25:10.942Z info no pre build script to run
2024-02-05T13:25:10.954Z info files are open
2024-02-05T13:25:10.954Z info newFolder: /backup/Backup/OttoFMS/outbox/build_iXvHefGvhoU0
2024-02-05T13:25:10.962Z info starting build “build_iXvHefGvhoU0” with 1 files
2024-02-05T13:25:10.987Z info GET: /otto/api/build/:buildId/status
2024-02-05T13:25:16.174Z info clone of file Test.fmp12 is done
2024-02-05T13:25:16.193Z error Unhandled Rejection at: Promise
2024-02-05T13:25:17.433Z info otto internal database up to date
2024-02-05T13:25:17.441Z info Listening on http://localhost:3061
2024-02-05T13:25:17.442Z info environment “production”
2024-02-05T13:25:17.442Z info version “4.0.8”
2024-02-05T13:25:17.500Z info started watching offsite backup
2024-02-05T13:25:17.501Z info started watching for hostname changes
2024-02-05T13:25:17.543Z info Reverse Proxy already installed
2024-02-05T13:25:17.884Z info License status: valid

I did the same with rebooting the server, but it crashed as well.

Thank you for looking into this.



There isn’t anything in that log. Could you send the actual deployment and results, plus all all otto logs.

You can direct message me or @kduval with that info that would be helpful.

From the deployments tab

from the Logs page



Hi Rico,

We’ve just pushed up version 4.0.9, it should fix this problem. Does it fix it on your side? Let us know if you have any problems with it going forward!



Hello Kyle and Todd

I just tested it and everything is working again!

Thank you for the quick response!