MacOS client 2021

@Moisie

no issue, will wait until you have some new findings! If I can provide more information to make the analysis easier, simply tell me. Have you considered providing a package with some more debug output?

Thanks!

Bye

Hi @Talkabout

Ok - I’ve got a 2013 Mac Pro running macOS 10.15.7 Catalina in front of me. I’ve just completely removed all remnants of the Urbackup Client from it, and downloaded and install the 2.4.11 package from the top of this thread.

I do not get two menu bar icons showing up - only a single one. On this, the status is ‘Internet connection status: No Internet server configured.’

On entering Settings and changing the Interval for incremental file backups from 12 hours to 13 hours, no crash appears to occur. Here’s my log (with two sets of Settings updates, as the first one got contaminated with a hostname update too):

2021-04-30 19:13:31: urbackupserver: Server started up successfully!
2021-04-30 19:13:31: FileSrv: Binding UDP socket at port 35622...
2021-04-30 19:13:31: FileSrv: done.
2021-04-30 19:13:31: FileSrv: Binding ipv6 UDP socket at port 35622...
2021-04-30 19:13:31: FileSrv: done.
2021-04-30 19:13:31: ERROR: Error joining ipv6 multicast group ff12::f894:d:dd00:ef91
2021-04-30 19:13:31: FileSrv: Servername: -*****-
2021-04-30 19:13:31: FileSrv: Server started up successfully
2021-04-30 19:13:31: FileSrv: UDP Thread started
2021-04-30 19:13:31: Started UrBackupClient Backend...
2021-04-30 19:13:32: Looking for old Sessions... 2 sessions
2021-04-30 19:13:32: Internet mode not enabled
2021-04-30 19:13:34: urbackupserver: No available slots... starting new Worker
2021-04-30 19:13:34: ClientService cmd: FSTATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:13:36: ClientService cmd: STATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:13:45: ClientService cmd: STATUS DETAIL#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:13:45: rc=0 hasError=true state=0
2021-04-30 19:13:49: ClientService cmd: GET LOGPOINTS#pw=lPMsLjbw7WxKNBZrnWqlqrsVObUxak
2021-04-30 19:13:49: rc=0 hasError=true state=0
2021-04-30 19:14:21: ClientService cmd: UPDATE SETTINGS backup_window=1-7/0-24
backup_window_full_file=1-7/0-24
backup_window_full_image=1-7/0-24
backup_window_incr_file=1-7/0-24
backup_window_incr_image=1-7/0-24
computername=Alexs-MBP.localdomain
exclude_files=
include_files=
internet_authkey=
internet_compress=true
internet_encrypt=true
internet_full_file_backups=false
internet_mode_enabled=false
internet_server=
internet_server_port=55415
internet_server_proxy=
internet_speed=-1
local_speed=-1
max_file_full=10
max_file_incr=100
min_file_full=2
min_file_incr=40
startup_backup_delay=0
update_freq_full=2592000
update_freq_image_full=630503947831869440
update_freq_image_full_orig=630503947831869440
update_freq_image_incr=1113255523123200
update_freq_incr=46800
#pw=lPMsLjbw7WxKNBZrnWqlqrsVObUxak
2021-04-30 19:14:21: Restarting filesrv because of name change. Old name: ***** New name: Alexs-MBP.localdomain
2021-04-30 19:14:21: rc=0 hasError=true state=0
2021-04-30 19:14:22: FileSrv: Stopping CUPDThread...
2021-04-30 19:14:22: Internet mode not enabled
2021-04-30 19:14:28: ClientService cmd: STATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:14:31: CUDPThread exited.
2021-04-30 19:14:31: FileSrv: Binding UDP socket at port 35622...
2021-04-30 19:14:31: FileSrv: done.
2021-04-30 19:14:31: FileSrv: Binding ipv6 UDP socket at port 35622...
2021-04-30 19:14:31: FileSrv: done.
2021-04-30 19:14:31: ERROR: Error joining ipv6 multicast group ff12::f894:d:dd00:ef91
2021-04-30 19:14:31: FileSrv: Servername: -Alexs-MBP.localdomain-
2021-04-30 19:14:31: FileSrv: Server started up successfully
2021-04-30 19:14:31: FileSrv: UDP Thread started
2021-04-30 19:15:00: ClientService cmd: STATUS DETAIL#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:15:00: rc=0 hasError=true state=0
2021-04-30 19:15:08: ClientService cmd: UPDATE SETTINGS backup_window=1-7/0-24
backup_window_full_file=1-7/0-24
backup_window_full_image=1-7/0-24
backup_window_incr_file=1-7/0-24
backup_window_incr_image=1-7/0-24
computername=Alexs-MBP.localdomain
exclude_files=
include_files=
internet_authkey=
internet_compress=true
internet_encrypt=true
internet_full_file_backups=false
internet_mode_enabled=false
internet_server=
internet_server_port=55415
internet_server_proxy=
internet_speed=-1
local_speed=-1
max_file_full=10
max_file_incr=100
min_file_full=2
min_file_incr=40
startup_backup_delay=0
update_freq_full=2592000
update_freq_image_full=630503947831869440
update_freq_image_full_orig=630503947831869440
update_freq_image_incr=1113255523123200
update_freq_incr=50400
client_set_settings=true
client_set_settings_time=1619806461
#pw=lPMsLjbw7WxKNBZrnWqlqrsVObUxak
2021-04-30 19:15:08: rc=0 hasError=true state=0
2021-04-30 19:15:09: Internet mode not enabled
2021-04-30 19:15:19: ClientService cmd: STATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:16:10: ClientService cmd: STATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:16:33: Internet mode not enabled
2021-04-30 19:17:01: ClientService cmd: STATUS#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
2021-04-30 19:17:20: ClientService cmd: STATUS DETAIL#pw=eFamGe2HXykJnqLikGDKGbMNJF0TU9
...

I’ll look into building a debug version for you - but as far as I can see, there’s no fundamental problem with the client on Catalina.

Thanks.

Hi @Moisie,

thanks for looking into it!

So it seems to be an issue related to my environment. A debug version would be great as I have no idea what I can change to make it work :slight_smile:

Bye

Just volunteering to help with testing on a Mac High Sierra 10.13.6, but I’m pretty much a novice at this stuff. (Got UrBackUp running on a Raspberry Pi to back up my PC and want to have it running on my Mac too, so happy to help in any way I can.) Would you like me to try the 2.5.x beta or the 2.4.x?

New to UrBackup, but testing it for possible use in multi-user environment. I’m having an issue with setting a backup directory urbackupclientctl.

Server-side, I’ve created a group and added my test mac to it. I’ve set the default directories to backup to contain only /Users, along with various other simple settings.

Client-side, I installed the mac installer .pkg and and then configured it by:
sudo /Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k internet_mode_enabled -v true -k internet_server -v <urbackup.server.address> -k internet_server_port -v 55415 -k computername -v "cstuberg-laptop2" -k internet_authkey -v <XXXXXXXXXX>
After about 3 minutes or so if I do ./urbackupclientctl status it shows the proper information and I can attempt a backup.
Error logs on both client and server say that there’s no backup directory defined despite one being defined from the server. I can confirm with
sudo ./urbackupclientctl list No directories are being backed up
To manually add a backup dir I do:
sudo ./urbackupclientctl add-backupdir -d /Users
but the change doesn’t take effect and i get the same
sudo ./urbackupclientctl list No directories are being backed up
and can confirm in the GUI that there are no directories added in the backup paths and error logs on both client and server that no backup directories are defined.

This result is the same on both 2.5.11b and 2.5.12b.

Obviously the simple solution would be to manually add the backup path in the GUI but I need to send the command remotely to various machines and would like to predefine what directories are being backed up for all users and hide the ‘Add/Remove Backup Paths’ from the GUI altogether.

Another afterthought: I’ve been looking for full documentation of urbackupclientctl since --help feels a bit lacking but haven’t been able to find it. Can anyone send me a link?

That’s probably more a problem with 2.5.x. I’d stick with 2.4.x for serious use till that one is more tested. I’ll look into setting paths to backup from the server there. It would be helpful if you post e.g. the client debug log to Server 2.5.20 beta - #2 (did you use it with the 2.5.x server?).

Yeah it needs documentation, i.e., I’d would improve the settings interface from the generic interface to specific switches first ( -k internet_mode_enabled -v true => --internet-mode).

Server is at 2.4.13. So that could possibly be an issue.
Is there any known issues with mac client 2.4.11 and server 2.4.13?

I’ll try with 2.4.x and see if there’s any improvement.

On the 2.4.x, I get an error on the Mac client when selecting the status of “There was an error. Currently nothing can be backed up.” And the Raspberry Pi server cannot detect the client.

On the 2.5.x beta, the Raspberry Pi server detects the Mac client, and the Mac client starts to index the files, but I cannot get the client to retain a back up path when I set it, and when I try to set the path at the server, it states there’s no back up path.

(I performed a full uninstall of the client before trying each version.)

Update on this: with client version 2.4.11 and server version 2.4.13 I’m able to successfully complete the installation, configuration, and backups without any GUI interaction. This is looking good for deployment through an MDM solution such as Jamf. Will be testing this throughout the next few days and can share details or struggles as they arise.

! Thanks Martin !

Thought I would share that I have been successful at deploying UrBackup to remote mac users with Jamf. It was fairly straight forward. I’m using mac client version 2.4.11 and server version 2.4.13.

I created a new group on the server with the settings I desired. (wildcards are not acceptable when defining a backup directory)
I uploaded the client .pkg in Jamf Admin.
I built a .mobileconfig to allow UrBackup Full Disk Access using PPPC and uploaded it as a profile into Jamf and pushed.
I wrote a super simple script in Jamf with the following:

#!/bin/bash

# modifies settings for urbackup to point to the server and aquire settings from the server

# we'll need 2 parameters: the name of the client that was generated on the server and the internet auth key
# $4 = clientname
# $5 = internet_authkey

/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k internet_mode_enabled -v true 
/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k internet_server -v <url>
/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k internet_server_port -v 55415
/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k computername -v "${4}"
/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl set-settings -k internet_authkey -v "$5"

I modified the parameter labels of var4 and var5 to ‘Client Name’ and ‘Internet Authkey’ in the script options to make it easier to remember.

I built out a policy to include the .pkg installer and the script, Vars 4 and 5 need to be defined.

My deployment process is to Add a New Client on the server. I then add that client to the group I created for mac laptops. Failure to do so causes the laptop to try to find a C:\ drive and causes headaches. I copy over the name and authkey into the Jamf policy into Vars 4 and 5. I then scope the policy to 1 laptop at a time.

I can push to more than 1 laptop at a time by just cloning the policy, making the changes necessary and pushing to the next on the list. It’s a little annoying on the initial deployment, but only really needs to be done once.

The only real ‘issue’ and it’s not an issue just an annoyance is that there’s a popup for UrBackup Client wanting a password input so it can be used as a login item. If you cancel, it will add it anyway so the input can safely be ignored.

I built out a second policy with a simple script:

#!/bin/bash 
/Applications/UrBackup\ Client.app/Contents/MacOS/bin/urbackupclientctl start -i

I can push this if I want to manually start a client to backup.

So far so good on the handful of remote users I’ve been testing with. We’re planning to expand the storage pool for the Server in the next couple weeks and deploy to about 100 remote mac users.

Thanks for the feedback @cstuberg - that’s most useful. I hope your deployment goes well!

Please remember that this project is not yet suitable for backing up/restoring complex filesystem objects, such as the system itself. User data should be generally fine with it though - a little more information here: Symlinks Not Working on macOS

Hi @Talkabout

Thanks for your patience on this. I suspect this issue might need to be handed over to Those Who Are Cleverer Than Myself soon, but here’s something to move it along a bit:

Here’s a debug installer of the current 2.4.x branch for you; uninstall your previous version, then install this instead. This version hasn’t been signed, so you might need to jump through some hoops to get the OS to run the installer.

https://drive.google.com/file/d/1Z57m4ENEnyy-E1r_B5BSMKLPConw0pAk/view?usp=sharing

Once the installation has completed, then stop the running backend process with

sudo launchctl unload /Library/LaunchDaemons/org.urbackup.client.plist 

Then launch the backend into the debugger:

sudo lldb /Applications/UrBackup\ Client.app/Contents/MacOS/sbin/urbackupclientbackend

It will load up, then use run to launch it.
Then change some settings as you would normally. Hopefully you’ll then see the crash happen in the debugger - so use thread backtrace to get the debug info, and post it here.

Thanks!

Thanks @Moisie, I will try your suggestions in the next days and will report about the result.

Hi @Moisie,

I have run the installer twice, but after approving it from security side (in settings) the last step fails and the installer tells me that something goes wrong. Any way to overcome that?

Thanks!

Hi @Talkabout

My apologies - I’ve reproduced the error here (it doesn’t fail on my macOS 10.12 build system, but does fail on a 10.14 system…), so will fix it ASAP!

Hi @Talkabout

Thanks for your patience. Hopefully here’s a debug build that won’t crash on installation for you:

https://drive.google.com/file/d/1JsbkUGQQv8CI4w6WdTm08mMHXl16M72R/view?usp=sharing

Follow the instructions here - MacOS client 2021 - #60 by Moisie - and please report back!

Thanks.

Hi @Moisie,
Building a copy with your DataVaults development branch fixes my main problem. However, now I’m getting:

Error while listing files in folder “/Library/Application Support/com.apple.TCC”. User may not have permissions to access this folder. Errno is 1

I’ve tried giving Full Disk Access to every component I can think of, from the app package to every binary inside, but it still doesn’t work.

Hi @ravenclaw900,

Thanks for trying the build - glad it fixed your main issue.

Can you browse into /Library/Application Support/com.apple.TCC in the Finder? I’ve checked on a 10.14 and 10.15 system, and I can’t see any issues with doing so here, and no permissions that I can see which would prevent it from working with the Urbackup client.

I can only get into it if I have a root terminal with Full Disk Access. Permissions:

% ls -l /Library/Application\ Support | grep 'TCC' 
drwx------   3 root          admin           96 May 30 13:49 com.apple.TCC

Thanks @ravenclaw900

Which OS version are you on? From my main machine running macOS Big Sur 11.4, I get this:

MBP:~ user$ ls -l /Library/Application\ Support | grep 'TCC'
drwxr-xr-x@   4 root      wheel     128 30 May 06:58 com.apple.TCC

I’m not aware of having done anything special to open up the permissions - and a reasonably-clean 10.14 VM I use shows the same permissions too. I haven’t got SIP disabled either, FWIW.