I want to sync to the same Dropbox folder from (a) my MacBook Pro and (b) my Mac Mini. User IDs are different on the two machines, so setting the backup location using Choose (in Project Settings/Backup) on a machine doesn’t work for the other machine. I keep setting it and finding backups going to the wrong folder on the other machine (the global preferences setting, not the project setting). It took me a while to realize why.
If I could type in the backup path, e.g. ~/Dropbox/Apps/Scrivener Backups/Divided Mind, it would work on both machines … but you don’t seem to allow it.
If you want to work on the same project from two different machines, just put the project itself in the Dropbox folder and let the Dropbox software do the rest.
I don’t recommend sending backups from both machines to a shared location, because of the potential for a bad backup from Machine A to overwrite a good backup from Machine B. But if you insist on doing it, choose the same Dropbox/subfolder in the Scrivener -> Preferences -> Backups pane on both machines. That’s a machine-specific setting, not a project setting.
Unfortunately the UNIX shorthand for home folder isn’t something used by the stock front-end Mac tools for establishing paths. It would solve a lot of problems! The answer is symbolic links. That will make things easier for you in all manner of software and workflows that deal in paths.
Regarding the concern for a collective backup folder, I have been doing that for many years without issues. The described risk exists even with just one machine all by itself, and I wouldn’t say adding more machines greatly increases that (very low) risk.
There is a good point in there: more machines means a faster rotation. The solution to both problems: raise the limit. I use 25 instead of the default 5, and I use date stamps instead of the sequential rotation naming scheme, which means every backup created will have a unique name—no overwriting and Dropbox will be storing the old 25+ copies in its deleted files stash for 30 days beyond that (or I use Resilio Sync myself, but it has an archival system for deleted files as well).
The result in my experience is quite safe, and it is very convenient in that that backup folder is my primary “transfer mechanism”. When I switch computers, I extract from the latest .zip file off of the stack (I don’t sync live projects, as that has always struck me as unnecessarily and overly complicated when .zips sync cleanly as a single file, and this process is so very easy to do).
I too save all my backups in the same cloud folder from all Macs, simply because if something happens my backups exist on three Macs, three Time Machines (residing in two geographically different locations) plus the cloud service.
And I use the time stamps as well.
I do put the project in the same Dropbox folder on both machines, but the PATHNAME to that folder is different, because I have a different username on the two machines. I could make them the same, but it’s not a simple process.
I’m talking about a setting in Project Settings->Backups, not the global Scrivener->Preferences->Backups.
Others seem to be say just the opposite. Put them in the same folder, and the problem goes away … which it will, of course, but then there’s not much point in a Backups location in Project Settings. Many users will not have the same username on all their machines. It can’t be that difficult to let us type in the location or edit the location put there by Choose…
[quote=“AmberV”]
Unfortunately the UNIX shorthand for home folder isn’t something used by the stock front-end Mac tools for establishing paths. It would solve a lot of problems! The answer is symbolic links. That will make things easier for you in all manner of software and workflows that deal in paths.
[quote]
I’ll look into a symbolic link solution, but lumping them all together is simpler, no doubt.
It doesn’t have to be the same path, except the last part.
You install the Dropbox app, it creates a folder called Dropbox, and you the save your project in a subfolder under the Dropbox folder. It will look exactly the same on both machines. The “root” is Dropbox, nothing else. Look in Finder…
If you’re using Project->Project Settings->Backup to set your backup path, and then sync that project between two macs with different usernames, then the full path to the shared backup folder has to be the same. That’s why Ioa suggested symbolic links. You’d have to put that link somewhere like /Users/ on both machines, each pointing to that machines backup folder, and each link having the same name on both machines, so that the project settings would have identical paths… but it’s easily done.
In Terminal.app on each machine:
cd /Users
sudo ln -s ~/Dropbox/path/to/backups/folder DropboxBackups
On both machines in Scrivener, change the path by navigating to the /Users folder on Macintosh HD, then select DropboxBackups.
No, it puts all BACKUPS in the same folder. And with any luck you will never have to use any of the backups.
You’re opening post says you want to sync between two different machines via Dropbox. Why are you involving backups in this and not simply syncing the active [u]project?
That way, all path settings in your software that look for /Users/OtherMachineAccount/path/to/thing will be redirected by the system to /Users/RealUserAccount/path/to/thing. You don’t need a symlink for each internal folder if the whole top level structure is redirected in this fashion. That is the method I used for years, before I got all of my machines set up to use the same user name. It works for shell scripts, GUIs, etc.
That fails for the same reason two other solutions failed before. Using Choose… to set the location resolves it to a complete pathname using the local machine username.
I’ll do it the simple way and use one folder … or I’ll create a new User with same name as the other machine and transfer everything over. It shouldn’t take TOO much work to do that.
Did you try it? If yes, then I must still not be describing this method with enough steps, because this method works specifically because paths are absolute. So paths being stored absolute cannot be a reason for it to fail!
So:
Create a new test account on Machine A with a UNIX account name of “tester_a”.
Log into the account, and create a folder on the Desktop called “Bak”.
On machine B, create an account for “tester_b”.
Log into the account and create a folder on the Desktop called “Bak”.
Launch Terminal on Machine A and type in:
sudo ln -s /Users/tester_a /Users/tester_b
Test the configuration from Machine A (account tester_a) using an absolute link to a “wrong” user account name:
touch /Users/tester_b/Desktop/Bak/success
Open the Bak folder on your desktop, and confirm that a file named “success” has appeared there, despite using the wrong absolute path for this system’s account name.
Now on Machine B, create a test project on the Desktop called “custom_backups”.
Hit ⌥⌘, and in the Backups pane, enable custom backup folder for this project.
Click the Choose… button and designate the “Bak” folder on Desktop. You should see “/Users/tester_b/Desktop/Bak” printed. This is not a flaw.
Click Okay and close the project. Confirm the creation of “custom_backups-bak.zip” in ~/Desktop/Bak.
Copy the project to Machine A in whatever fashion you desire.
Open the project on Machine A and hit ⌥⌘, and confirm that the backup settings are still set to “Users/tester_b/Desktop/Bak” and click Cancel.
Type in something into the main editor so that there is something to back up.
Use the File ▸ Back Up ▸ Back Up Now menu command.
Open the “Bak” folder and confirm the creation of “custom_backups-bak1.zip” in the folder, even though this is /Users/tester_a/Desktop/Bak, and our Scrivener settings are for /Users/tester_b/Desktop/Bak
Now obviously, you may not want to go through all of that just to prove the theory correct, but it might be worthwhile if something isn’t clicking. Maybe there is a missed step in what you’re doing with the real data. Maybe you need a cyclical setup so that both machines have symlinks so that your /Users folder on both machines have both tester_a and tester_b available.
I suppose, but a one-liner in Terminal is easier than that, and causes less of a mess of keeping things in order than having two literal user accounts.
I’d have to wade through all that to have a CHANCE of figuring out what I should have done with the real data, as you call it. You added a lot of complications. The gist, it appears, is that I can’t trust what I see in the backup location pathname.
Type “sudo ln -s /Users/MyAccountName /Users/OtherMachineName”
That doesn’t make sense to me.
Anyway, you’ve asked for “X” and I’ve given you “X”. If you don’t need details on how it is definitely “X”, then skip the details and just try it. I have, it works.
Thank you, Amber … I apologize for wasting your time and that of others, yet again. I’m thought of as a Scrivener guru in some circles, but HERE I’m an idiot half the time.
I did not try it before (going to the machine B and testing a backup), because the pathname looked just, you know, WRONG on machine A. I thought the machine A username would carry over to the other machine and THAT couldn’t work, so …