File Synchronisation For Mac



-->

There are two basic ways that you, as an admin, can deploy the OneDrive sync app to Mac users in your organization:

  • Have users install and set up the OneDrive sync app themselves by following the instructions in Sync files with OneDrive on Mac OS X. To install the OneDrive sync app for Mac, a user has to be administrator on the Mac or know an administrator account name and password.

  • Download the installer package file to your local network, and then use your software distribution tools to deploy the app to your users. By using a software distribution tool, you have more control over the deployment, including which users get the sync app and when. The OneDrive sync app for Mac uses the Apple Installer technology for installation. This means you can use the software distribution tools that you normally use to deploy software to Mac users. You can use Microsoft Intune. Other common tools are Jamf Pro, Munki, and AutoPkg. You can also use Apple Remote Desktop and AppleScript.

Manage OneDrive settings on macOS using property list (Plist) files

After the OneDrive sync app for Mac is installed, users can configure settings for the app. These settings are called preferences. As an admin, you might want to provide users in your organization with a standard set of preferences. Preferences for the OneDrive sync app for Mac are stored in preference files. These files are often referred to as .plist files.

StandaloneMac App Store
PList Location
~/Library/Preferences/com.microsoft.OneDrive.plist
~/Library/Containers/com.microsoft.OneDrive-mac/Data/Library/Preferences/com.microsoft.OneDrive-mac.plist
Domain
com.microsoft.OneDrive
com.microsoft.OneDrive-mac
  • This is a comparison of commercial software in the field of file synchronization. These programs only provide full functionality with a payment. As indicated, some are trialware and provide functionality during a trial period; some are freemium, meaning that they have freeware editions.
  • Download FreeFileSync 11.2. FreeFileSync is a free open source data backup software that helps you synchronize files and folders on Windows, Linux and macOS.

This is the best file synchronization program for Mac I have ever used (and at a good price, to)!It had all of the specific settings I needed to make it run in the background. If you aren't sure. File Synchronization and Backup Software. Easily back up and sync your files with GoodSync. Our simple and secure file backup and synchronization software will ensure that your files are never lost. Download and install on Windows, MAC, LINUX, or NAS platforms. Access advanced GoodSync features free for the first 30 days.

Configure sync app settings

Configure the settings on macOS in the typical way:

  1. Quit the OneDrive application.

  2. Define the settings you want to change by creating a Plist with the values, or use a script to set the default values.

  3. Deploy the settings onto the local computer.

  4. Refresh the preferences cache.

    On the next start of OneDrive, the new settings will be picked up.

Overview of settings

Open Source File Synchronization

Use the following keys to preconfigure or change settings for your users. The keys are the same whether you run the standalone or Mac App Store edition of the sync app, but the property list file name and domain name will be different. When you apply the settings, make sure to target the appropriate domain depending on the edition of the sync app.

SettingDescriptionParametersExample Plist Entry
Disable personal accounts
Blocks users from signing in and syncing files in personal OneDrive accounts. If this key is set after a user has set up sync with a personal account, the user will be signed out.
DisablePersonalSync (Bool): When set to true, this parameter prevents users from adding or syncing personal accounts.
<key>DisablePersonalSync</key>
<(Bool)/>
Default folder location
Specifies the default location of the OneDrive folder for each organization
TenantID (String): TenantID determines which accounts the default folder location setting should apply to. Find your Microsoft 365 tenant ID
DefaultFolderPath (String): DefaultFolder specifies the default folder location.
Mac App Store:
The path must already exist when users set up the sync app.
Standalone:
The path will be created on users' computers if it doesn't already exist. Only with the Standalone sync app can you prevent users from changing the location.
<key>DefaultFolder</key>
<array>
<dict>
<key>Path</key>
<string>(DefaultFolderPath)</string>
<key>TenantId</key>
<string>(TenantID)</string>
</dict>
</array>
Automatic upload bandwidth percentage
Enables the sync app to automatically set the amount of bandwidth used based on available bandwidth for uploading files
AutomaticUploadBandwidthPercentage (int): This parameter determines the percentage of local upload bandwidth that the sync app can use. Accepted values are from 1 through 99.
<key>AutomaticUploadBandwidthPercentage</key>
<int>(Bandwidth)</int>
Set maximum upload throughput
Sets the maximum upload throughput rate in kilobytes (KB)/sec for computers running the OneDrive sync app
UploadBandwidthLimited (int): This parameter determines the upload throughput in KB/sec that the sync app can use. The minimum rate is 50 KB/sec and the maximum rate is 100,000 KB/sec.
<key>UploadBandwidthLimited</key>
<int>(Upload Throughput Rate in KB/sec)</int>
Set maximum download throughput
Sets the maximum download throughput rate in kilobytes (KB)/sec for computers running the OneDrive sync app
DownloadBandwidthLimited (int): This parameter determines the download throughput in KB/sec that the sync app can use. The minimum rate is 50 KB/sec and the maximum rate is 100,000 KB/sec.
<key>DownloadBandwidthLimited</key>
<int>(Download Throughput Rate in KB/sec)</int>
Dock icon
Specifies whether a dock icon for OneDrive is shown
HideDockIcon (Bool): When set to true, this parameter hides the OneDrive dock icon even when the application is running.
<key>HideDockIcon</key>
<(Bool)/>
Open at login
Specifies whether OneDrive starts automatically when the user logs in
OpenAtLogin (Bool): When set to true, OneDrive will start automatically when the user logs in on the Mac.
<key>OpenAtLogin</key>
<(Bool)/>
Enable Files On-Demand
Specifies whether Files On-Demand is enabled. If you don't set this setting, Files On-Demand will be enabled automatically as we roll out the feature, and users can turn the setting on or off
FilesOnDemandEnabled (Bool): When set to true, new users who set up the sync app will download online-only files by default. When set to false, Files On-Demand will be disabled and users won't be able to turn it on.
<key>FilesOnDemandEnabled</key>
<(Bool)/>
Disable download toasts
Prevents toasts from appearing when applications cause file contents to be downloaded
DisableHydrationToast (Bool): When set to true, toasts will not appear when applications trigger the download of file contents.
<key>DisableHydrationToast</key>
<(Bool)/>
Block apps from downloading online-only files
Prevents applications from automatically downloading online-only files. You can use this setting to lock down applications that don't work correctly with your deployment of Files On-Demand.
HydrationDisallowedApps (String): Json in the following format
[{'ApplicationId':'appId','MaxBundleVersion':'1.1','MaxBuildVersion':'1.0'}]
'AppID' can be either the BSD process name or the bundle display name. MaxBuildVersion denotes the maximum build version of the application that will be blocked. MaxBundleVersion denotes the maximum bundle version of the application that will be blocked
<key>HydrationDisallowedApps </key>
<string> [{'ApplicationId':'appId','MaxBundleVersion':'1.1','MaxBuildVersion':'1.0'}, {'ApplicationId':'appId2','MaxBundleVersion':'3.2','MaxBuildVersion':'2.0'}]</string>
<(Bool)/>
SharePoint Server Front Door URL
Specifies the SharePoint Server 2019 on-premises URL that the OneDrive sync app should try to authenticate and sync against
SharePointOnPremFrontDoorUrl (string): The URL of the on-premises SharePoint Server.
<key>SharePointOnPremFrontDoorUrl</key>
<string>https://Contoso.SharePoint.com</string>
SharePoint Server Tenant Name
Specifies the name of the folder created for syncing the SharePoint Server 2019 files specified in the Front Door URL.
SharePointOnPremTenantName (string): The name that will be used when creating a folder to sync the on-premises SharePoint Server files. If specified, the folder names will take the form of:
OneDrive – TenantName
TenantName
If not specified, the folder names will use the first segment of the FrontDoorURL as the Tenant Name.
Example - https://Contoso.SharePoint.com will use Contoso as the Tenant Name
<key>SharePointOnPremTenantName</key>
<string>Contoso</string>
SharePoint OnPrem Prioritization
For hybrid scenarios where the email is the same for both SharePoint Server on-premises and SharePoint in Microsoft 365, determines whether or not the client should set up sync for SharePoint Server or SharePoint in Microsoft 365 first during the first-run scenario.
SharePointOnPremPrioritizationPolicy (int): This parameter determines which service to attempt to authenticate against for setting up sync.
1 indicates OneDrive should set up SharePoint Server on-premises first, followed by SharePoint in Microsoft 365.
<key>SharePointOnPremPrioritizationPolicy</key>
<int>(0 or 1)</int>
Allow syncing OneDrive accounts for only specific organizationsThis setting lets you prevent users from easily uploading files to other organizations by specifying a list of allowed tenant IDs. If you enable this setting, users get an error if they attempt to add an account from an organization that is not allowed. If a user has already added the account, the files stop syncing. This setting takes priority over Block syncing OneDrive accounts for specific organizations. Do not enable both settings at the same time.TenantID (String): TenantID determines which tenants the allow tenants list setting should apply to. Set the bool to True to allow the tenant to sync. Find your Microsoft 365 tenant ID<key>AllowTenantList</key>
<array>
<dict>
<key>TenantId1</key>
<Bool>True</Bool>
<key>TenantId2</key>
<Bool>True</Bool>
</dict>
</array>
Block External SyncPrevents the sync app from syncing libraries and folders shared from other organizations.BlockExternalSync (Bool): Set to true to prevent syncing OneDrive and SharePoint libraries and folders from organizations other than the user's own organization. Set to false or do not include the setting to allow.
Learn about OneDrive B2B Sync.
<key>BlockExternalSync</key>
<(Bool)/>
Disable the tutorial that appears at the end of OneDrive SetupThis setting lets you prevent the tutorial from showing at the end of OneDrive Setup.DisableTutorial (Bool): When set to true, users will not see the tutorial after they complete OneDrive Setup.<key>DisableTutorial</key>
<(Bool)/>
Block syncing OneDrive accounts for specific organizationsThis setting lets you prevent users from uploading files to another organization by specifying a list of blocked tenant IDs. If you enable this setting, users get an error if they attempt to add an account from an organization that is blocked. If a user has already added the account, the files stop syncing. This setting does NOT work if you have Allow syncing OneDrive accounts for only specific organizations enabled. Do not enable both settings at the same time.TenantID (String): TenantID determines which tenants the block tenants list setting should apply to. Set the bool to True to disable the tenant from syncing. Find your Microsoft 365 tenant ID<key>BlockTenantList</key>
<array>
<dict>
<key>TenantId1</key>
<Bool>True</Bool>
<key>TenantId2</key>
<Bool>True</Bool>
</dict>
</array>

You can also configure the OneDrive Standalone sync app to receive delayed updates.

Software
PList Location
~/Library/Preferences/com.microsoft.OneDriveUpdater.plist
Domain
com.microsoft.OneDriveUpdater
SettingDescriptionParametersExample Plist Entry
Tier
Defines the update ring for the computer
UpdateRing (String): This parameter has two different values.
Production - The default update ring for OneDrive updates.
Insiders - This update ring receives updates that are 'pre-production' and will allow you to play with features before they are released. Note that builds from this ring may be less stable.
Enterprise - This update ring (now called 'Deferred') receives updates after they have rolled out through the Production ring. It also lets you control the deployment of updates. For more info about the update rings and how the sync app checks for updates, see The OneDrive sync app update process.
<key>Tier</key>
<string>(UpdateRing)</string>

In today’s post, tech writer TJ Luoma shares how he uses Sync to set up the folder structure on his Mac, keeping things like his ~/Library/LaunchAgents/ and ~/Library/QuickLook/ folders synced.
From TJ:

My last article for TUAW was BitTorrent Sync gives you the flexibility to sync anything, which included a farewell Easter egg. However, I didn’t have the time to explain a lot of what I use BitTorrent Sync for, which is what I want to do now.

The first thing I did was setup syncing for the standard OS X folders:

  • Desktop
  • Documents
  • Downloads
  • Pictures
  • Movies
  • Music

If you’re a Mac geek of a particular type, you are probably wondering if you can sync your ~/Library/Preferences/ and~/Library/Application Support/ folders. I definitely would not recommend that, as I think it is just begging for trouble later on. However, there are a few sub-folders in there that you might want to sync.

~/Library/LaunchAgents/ – I sync my LaunchAgents folder, but I use the .sync/IgnoreList feature to not sync any file that begins with com. That actually prevents most from syncing automatically, but the ones that I make and do want to sync I prefix with sync.com.tjluoma. so I’ll know those will sync to all of my Macs (I hinted about that in Keep Desktop Clean By Name).

~/Library/QuickLook/ – This keeps my QuickLook .qlgenerator files sync’d together, and I have a sync’d LaunchAgentplist which watches ~/Library/QuickLook/ and runs /usr/bin/qlmanage -r whenever it changes.

~/Library/Application Support/Screen Sharing/ – I sync this to keep my Screen Sharing .vncloc files in sync across my Macs.

/Library/Caches/Homebrew/ – I use Homebrew on all of my Macs and tend to install the same packages everywhere, so I sync the cache folder so I don’t have to re-download the packages for each Mac.

~/.ssh/ – This one will be controversial to some people who worry about security and who are right now terrified at the idea of someone managing to get into my ~/.ssh/ and muck about with it. But the reality is that my life is boring and no one is likely to ever try to do that, and it’s convenient to have my known_hosts, config, and authorized_keys sync’d. I added id_rsa*to the ~/.ssh/.sync/Ignorelist so my private key doesn’t actually sync.

Folders Which Do Not Sync Well

I tried syncing ~/Library/Safari/Extensions/ to keep my Safari extensions in sync, but Safari does not like that, and seemingly refuses to recognize new extensions which are added directly to that folder. (This is probably a security feature, in that it prevents some malicious installer from putting something in there which will take over your default searches, or something like that.)

I also tried to sync /usr/local/ because I generally install the same Homebrew things on each computer. That did not work well either, and I recommend avoiding it.

If you use a database app like DEVONthink I would make sure that its database is not stored in ~/Documents/ because I am not sure that it would handle syncing well.

Likewise, I would not recommend keeping your iPhoto library in ~/Pictures/ if you are going to sync it. Ditto for iTunes in ~/Music/. I moved my iTunes files to ~/iTunes/ ages ago because it didn’t make sense to keep it in ~/Music/ when it also includes TV and Movies.

Syncing to Dropbox

I keep Dropbox running on my MacMiniColo machine, and I sync my BTS folders to that machine too, which means that I do not have to worry about my BTS folders not being available for some reason.

I use and love SendToDropbox which is a great way to email files to your Dropbox account. SendToDropbox saves those files to ~/Dropbox/Apps/Attachments/ so I sync that folder (using BTS) to my other Macs. I never really liked the name “Attachments” but using BTS I can name the folder whatever I like, so I call it ~/SendToDropbox/.

Other Folders

All of my Macs share a ~/BitTorrent Sync/Torrents/ folder so I can save a .torrent file to it. On my MacMiniColo machine that folder is actually ~/Dropbox/Torrents/ and I have a Hazel rule on that Mac mini which launchesTransmission whenever a new .torrent file is added to that folder. Transmission looks in that folder and automatically starts sharing the torrent.

This website is run on Statamic which uses plain text files for its configuration and posts. I sync that folder to my Macs so I can write/edit to my website from any of my Macs.

I have a nice short domain name which is conducive to making short URLs, and I wanted an easy way to add those. I wrote a shell script called 302.sh which lets me automatically add those entries to my site’s .htaccess file and syncs it to my website. The short URL for that script is http://luo.ma/302, naturally.

(The short URL for this article is http://luo.ma/BitTorrentSync.)

Automatically start (or restart) BitTorrent Sync

Because BitTorrent sync is a crucial piece of my setup, I have created a launchd plist which will not only launch BTS when my computer starts up, but will also automatically restart it if it crashes. [1]

To install, first launch BitTorrent Sync.app, go to preferences, and be sure to turn off the option to have the app start at login. (That will be handled by launchd now instead.)

Quit BitTorrent Sync.app before proceeding.

Once BitTorrent Sync.app is no longer running, enter these commands in Terminal:

None of those lines will give you any feedback, but when you enter the last one, you should notice BitTorrent Sync launch.

File Synchronization Software For Mac

Free file sync for mac

HTH

File Synchronization For Mac

I hope this helps give you an idea of the ways that you can use BitTorrent Sync to keep any folder on your Mac in sync with other Macs.

[1] This launchd technique will work for any app that you want to automatically restart after a crash. Just replace<string>BitTorrent Sync</string> with <string>foo</string> where foo is the name of the app that you want to keep running if it crashes. I also have a similar one for Dropbox on my MacMiniColo machine.