Jump to content

Confused about sync permission errors


Recommended Posts

I am trying to sync my local music library from my Mac to my Unraid server, using SyncMate.

 

Looking in the Unraid console, it actually seems to have transferred the files over, as I can now see around 500Gb of data is now in my Music folder in Unraid.

 

However, whenever I run the sync process I get a near-endless stream or error codes, that all look the same, for example:

 

*"Domain Code=513 "You don’t have permission to save the file “Disc 5” in the folder “Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_”." UserInfo={NSFilePath=/Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5, NSUnderlyingError=0x600001cecb40 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}}*

 

*2024-04-18 14:45:15.074 SyncMateService\[10757:630182\] Error open file /Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5/.SyncMateTemp.10 - Track10.flac (No such file or directory)*

 

*2024-04-18 14:45:15.075 SyncMateService\[10757:630182\] Copying local file /Users/adamlaurence/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5/01 - Track01.flac, to remote /All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5/01 - Track01.flac*

 

*2024-04-18 14:45:15.563 SyncMateService\[10757:630182\] Create folder /Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5 failed with error: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “Disc 5” in the folder “Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_”." UserInfo={NSFilePath=/Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5, NSUnderlyingError=0x600001ce23d0 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}}*

 

*2024-04-18 14:45:16.053 SyncMateService\[10757:630182\] Create folder /Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5 failed with error: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “Disc 5” in the folder “Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_”." UserInfo={NSFilePath=/Volumes/Music/All My Music/Various Artists - FWD\_\_ & Rinse Live At The End (Fri 17th Aug 2007) \_2007\_/Disc 5, NSUnderlyingError=0x600001ce1f80 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}}*"

 

There are a couple of reasons I don't understand these errors or how to resolve them:

 

1. I'm connected to my Unraid server as the root user - I entered the root credentials when connecting.

 

2. It obviously seems to be syncing the files - however I obviously can't be sure *all* of the files are syncing, and there are too many for me to go through the entire directory in Unraid and verify this.

 

3. Am a beginner to this.

 

**Any suggestions?**

nas-diagnostics-20240419-0038.zip

Link to comment

What are you using to do this transfer.  SMB or NFS.    With SMB, root is not a valid SMB user on Unraid !  

 

Where is SyncMate running?  

 

You have listed the error messages in the above post.  Is this how they appear when you see them?  (If there is more than one 'paragraph' to each of these error messages, it would be helpful if they appear as you are seeing them.)  Try using the  code (The     </>    icon )  message formatting option. 

Link to comment
1 hour ago, Frank1940 said:

What are you using to do this transfer.  SMB or NFS.    With SMB, root is not a valid SMB user on Unraid !  

 

Where is SyncMate running?  

 

You have listed the error messages in the above post.  Is this how they appear when you see them?  (If there is more than one 'paragraph' to each of these error messages, it would be helpful if they appear as you are seeing them.)  Try using the  code (The     </>    icon )  message formatting option. 

 

Yep I'm sharing via SMB. And thanks for clarifying that, I've logged out of root and re-connected using a user with read/write permissions to the shares.

 

Something else I'm realising is that either:

 

a) I don't know how to set up a mirrored sync in SyncMate, whereby the connected Unraid server folder mirrors the local MacBook folder, adding and deleting files and folders from the server when they are added or deleted from the MacBook.

b) This isn't possible in SyncMate?

 

The direction of the sync is currently configured as Macbook → Server, rather than Macbook ← Server or Macbook ⇔ Server. Should I have it configured differently? I'm noticing that folders which I have removed from the local storage are still present in the server directory.

Link to comment

Not sure about SyncMate as I have never used it.  (I have used rsnyc for a few months to keep my Media files in sync and I can tell you it is trouble free.  But I only use it to update the back server from the main server with all new files and any file updates done on the Main Server.)  That was why I asked where you were running SyncMate from.  If it was from the Unraid there should be a support link where you should be able to get your answers.    

 

Quick note on rsync.  It is a freeware distribution that has been ported for virtually all UNIX/Linux distributions.   It is a command line utility in its basic form.  It is included as a part of the Unraid installation package.   I understand that there are Windows and MacOS ports.  It is required that the computers on both ends of the connection have rsync installed.

Link to comment
16 hours ago, Frank1940 said:

Not sure about SyncMate as I have never used it.  (I have used rsnyc for a few months to keep my Media files in sync and I can tell you it is trouble free.  But I only use it to update the back server from the main server with all new files and any file updates done on the Main Server.)  That was why I asked where you were running SyncMate from.  If it was from the Unraid there should be a support link where you should be able to get your answers.    

 

Quick note on rsync.  It is a freeware distribution that has been ported for virtually all UNIX/Linux distributions.   It is a command line utility in its basic form.  It is included as a part of the Unraid installation package.   I understand that there are Windows and MacOS ports.  It is required that the computers on both ends of the connection have rsync installed.

Just set up Rsync with the help of Claude.ai. 

 

Wonder if you could take a look at the Rsync command it helped me come up with and give your take on if it's the best approach for my use-case, and also if you spot any inaccuracies with Claude's output? As a reminder, I'm trying to set up a sync from my MacBook to my Unraid server. A mirrored sync of my music library:

 

"Based on the previous examples and discussions, here's the rsync command you were using:

```
rsync -avh --delete "/Users/user/Music/All My Music/" "/Volumes/Music/All My Music/" --log-file="/Users/user/Documents/rsync_error_log.txt" --log-format="%t %p %i %C" --itemize-changes 2>&1 | grep -E "rsync error|rsync:"
```

Breakdown of the command:
- `rsync`: The main command to run rsync.
- `-avh`: The options:
  - `-a`: Archive mode, preserves permissions, ownership, timestamps, etc.
  - `-v`: Verbose output, provides detailed information about the synchronization process.
  - `-h`: Human-readable output, displays sizes in a more readable format.
- `--delete`: Deletes files and directories on the destination that do not exist on the source.
- `"/Users/user/Music/All My Music/"`: The source directory on your Mac.
- `"/Volumes/Music/All My Music/"`: The destination directory on the mounted Unraid share.
- `--log-file="/Users/user/Documents/rsync_error_log.txt"`: Specifies the file path for the log file.
- `--log-format="%t %p %i %C"`: Defines a custom log format that includes the timestamp, file path, item type and status, and any additional information or error messages.
- `--itemize-changes`: Outputs a detailed list of the changes made to each file and directory during the synchronization process.
- `2>&1`: Redirects the standard error stream (stderr) to the standard output stream (stdout), combining both normal output and error messages into a single stream.
- `| grep -E "rsync error|rsync:"`: Pipes the combined output through the `grep` command, which filters the output to only include lines that contain either "rsync error" or "rsync:". This helps focus the log on error messages and relevant information.

This command synchronizes the "All My Music" directory from your Mac to the corresponding directory on the mounted Unraid share, deleting any files or directories on the destination that do not exist on the source. It logs the synchronization process, including detailed information about each file and directory, and filters the log output to only include error messages and relevant information."

Link to comment

You are well beyond me on using rsync.  I did enough research at the time to develop a command line that would work for my simple case.   I ran modified versions of it to break up in the job into manageable chucks.  (I was moving 19TB of data in that initial move!)  Since then I run it manually when I deem necessary.  Of course, it only moves those files that are new (or changed) since that initial backup.  It does provide a listing of those files in the terminal.  I do look at that output to verify that it is doing what I expect, I am not concerned about logging its actions.  (rsync is a well tested utility and I don't expect that I would uncover some great hidden bug!) 

 

Here is my command line:

rsync -avhPX /mnt/remotes/192.168.1.245_Media/All\ Movies/ /mnt/user/BackupMedia/All\ Movies/

And I have attached a file that I put together when I was building the switches that I used.

 

Hope this helps...

Rsync--ComonlyUsedSwitches.txt

Link to comment
3 hours ago, icarus69 said:

--delete`: Deletes files and directories on the destination that do not exist on the source.

 

I have read some discussions about using this switch.   Just realize what it will do if you decide to use it.  If you 'accidentally'  (or anything else happens--Hacker, careless user, malware. etc.) delete a file from the source, this switch will delete it from the destination file system.  This will make it difficult (or, possibly, impossible) to recover those files.  IF you just leave them there on the destination file system, they will be there if you ever need to find them again.  The only reason for using the    -delete    switch is to make sure that both the source and destinations file system are mirrors of each other.  If your objective to be able to recover 'missing' files, it may turn out to be counterproductive in some respects!

 

If you are backing up temporary file systems and there is a need to delete them periodically, I would only use that switch on that segment of the file system that those files are in.  (I store the complete command line for each of the rsync commands that I use a plain text file and copy-and paste the appropriate command line into GUI terminal window.) 

 

 

Link to comment
2 hours ago, Frank1940 said:

 

I have read some discussions about using this switch.   Just realize what it will do if you decide to use it.  If you 'accidentally'  (or anything else happens--Hacker, careless user, malware. etc.) delete a file from the source, this switch will delete it from the destination file system.  This will make it difficult (or, possibly, impossible) to recover those files.  IF you just leave them there on the destination file system, they will be there if you ever need to find them again.  The only reason for using the    -delete    switch is to make sure that both the source and destinations file system are mirrors of each other.  If your objective to be able to recover 'missing' files, it may turn out to be counterproductive in some respects!

 

If you are backing up temporary file systems and there is a need to delete them periodically, I would only use that switch on that segment of the file system that those files are in.  (I store the complete command line for each of the rsync commands that I use a plain text file and copy-and paste the appropriate command line into GUI terminal window.) 

 

 

I'm aware of this and this works for my specific use-case.

 

The aim is to create an exact mirror. Then, when I have the time, end the rsync mirror, keeping the server-side music library intact and fully deleting the MacBook (source) library to free up space. Then, create a backup of the server music library, and then finally mount the server music library back to my MacBook as a volume - enabling me to stream my library without needing it to sit on my Mac's SSD.

 

FYI I not only currently have a backup of the Unraid music library backup going to BackBlaze B2, but I also have a remote Time Machine backup running for my MacBook.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...