<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RsyncUI - a GUI for rsync on RsyncUI</title><link>https://deploy-preview-39--rsyncui.netlify.app/</link><description>Recent content in RsyncUI - a GUI for rsync on RsyncUI</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-39--rsyncui.netlify.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Version 2.9.3</title><link>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/03/20/version-2.9.3/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/03/20/version-2.9.3/</guid><description>&lt;h3 id="version-293---march-20-2026"&gt;Version 2.9.3 - March 20, 2026&lt;a class="td-heading-self-link" href="#version-293---march-20-2026" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The Add tasks button on the toolbar is now consistently visible when in the Tasks menu. In version 2.9.2, the “Add tasks” button on the toolbar is only visible when a task is selected and when the “Edit” tab is selected.&lt;/p&gt;
&lt;p&gt;I have now also subscribed to Claude code (Claude.ai) and have requested assistance from Claude to verify the RsyncUI codebase over the past week. I instructed Claude to document any issues in &lt;a href="https://github.com/rsyncOSX/RsyncUI/blob/main/report.md"&gt;report.md&lt;/a&gt;, and most issues have been resolved. Additionally, notifications regarding Extraction Candidates will be included in a future release, 2.9.4.&lt;/p&gt;</description></item><item><title>Compiling RsyncUI</title><link>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/01/16/compiling-rsyncui/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/01/16/compiling-rsyncui/</guid><description>&lt;h3 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;There are at least three methods to compile RsyncUI, one without an Apple Developer account and two with an Apple Developer account. Regardless of the method used, it is straightforward to compile RsyncUI, as it is not dependent on any third-party code or library.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The easiest method is by using the included Makefile. The default make in &lt;code&gt;/usr/bin/make&lt;/code&gt; does the job.&lt;/p&gt;
&lt;h3 id="compile-by-make"&gt;Compile by make&lt;a class="td-heading-self-link" href="#compile-by-make" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If you have an Apple Developer account, you should open the RsyncUI project and replace the &lt;code&gt;Signing &amp;amp; Capabilities&lt;/code&gt; section with your own Apple Developer ID before using &lt;code&gt;make&lt;/code&gt; and the procedure outlined below.&lt;/p&gt;</description></item><item><title>Verify remote</title><link>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/01/15/verify-remote/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/blog/2026/01/15/verify-remote/</guid><description>&lt;h3 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-danger" role="alert"&gt;
&lt;p&gt;The &amp;ldquo;verify remote&amp;rdquo; function has been removed in RsyncUI version 2.8.6, which was released on January 8, 2026. It is now being developed as a standalone application, RsyncVerify. Further refinement of the user interface is still required.&lt;/p&gt;
&lt;p&gt;Currently, the function is being developed as a standalone application. Its continued use is essential, and it is preferable to use it independently rather than as a component of RsyncUI.&lt;/p&gt;</description></item><item><title>Important</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/important/</link><pubDate>Sat, 22 Mar 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/important/</guid><description>&lt;p&gt;Before using RsyncUI, review these key notes.&lt;/p&gt;
&lt;p&gt;The interface may feel challenging if you are new to the &lt;code&gt;rsync&lt;/code&gt; command-line tool. RsyncUI focuses on making &lt;code&gt;rsync&lt;/code&gt; easier to use, not on teaching every &lt;code&gt;rsync&lt;/code&gt; concept.&lt;/p&gt;
&lt;h3 id="not-a-backup-tool-for-everyone"&gt;Not a backup tool for everyone&lt;a class="td-heading-self-link" href="#not-a-backup-tool-for-everyone" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;RsyncUI specializes in synchronization and file management. The command-line tool rsync performs the actual work. If you need a full system backup tool that creates complete disk images, RsyncUI is not the right fit.&lt;/p&gt;</description></item><item><title>Limitations</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/limitations/</link><pubDate>Sat, 22 Mar 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/limitations/</guid><description>&lt;p&gt;There are a few limitations to keep in mind. None will corrupt data, but they may interrupt synchronization.&lt;/p&gt;
&lt;h3 id="long-running-tasks-and-sleep"&gt;Long running tasks and sleep&lt;a class="td-heading-self-link" href="#long-running-tasks-and-sleep" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When the Mac sleeps, RsyncUI tasks stop. An active rsync process does not prevent the Mac from sleeping. If sleep occurs during synchronization, rsync will likely error and stop. Restart the task in RsyncUI; rsync will resume from where it left off.&lt;/p&gt;
&lt;p&gt;If this happens, RsyncUI will not log the run because it only logs after receiving a termination signal from rsync.&lt;/p&gt;</description></item><item><title>Swift concurrency</title><link>https://deploy-preview-39--rsyncui.netlify.app/blog/2025/03/01/swift-concurrency/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/blog/2025/03/01/swift-concurrency/</guid><description>&lt;blockquote&gt;
&lt;p&gt;I’m developing a new macOS application, RawCull, that uses Swift concurrency in a unique way. My understanding of Swift concurrency is still limited, so I recommend exploring articles from experts in the field. However, RawCull also has a &lt;a href="https://rawcull.netlify.app/blog/technical/"&gt;technical blog&lt;/a&gt; that covers how Swift concurrency is used to solve “heavy work” without blocking the UI.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;RsyncUI is a GUI app; most work happens on the main thread. Heavier tasks run on threads from the cooperative thread pool (CTP) without blocking the UI. The Swift runtime manages the executors and CTP. There are three kinds of executors:&lt;/p&gt;</description></item><item><title>Tagging of data</title><link>https://deploy-preview-39--rsyncui.netlify.app/blog/2025/03/01/tagging-of-data/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/blog/2025/03/01/tagging-of-data/</guid><description>&lt;h3 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;RsyncUI must tag data accurately; otherwise some source data might not synchronize. RsyncUI supports both the latest rsync release and the legacy macOS default version.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Tagging is computed in the ParseRsyncOutput Swift package bundled with RsyncUI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Input string: &lt;code&gt;Number of created files: 7,191 (reg: 6,846, dir: 345)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Converted to: &lt;code&gt;[7191, 6846, 345]&lt;/code&gt; (the thousands separator is also removed from the string before parsing)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The function below extracts only numbers from the input:&lt;/p&gt;</description></item><item><title>Getting started</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/getting-started/</link><pubDate>Wed, 12 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/getting-started/</guid><description>&lt;p&gt;New users should read &lt;em&gt;Important&lt;/em&gt; first, then &lt;em&gt;Latest version of rsync&lt;/em&gt; for installation guidance, then &lt;em&gt;Tasks&lt;/em&gt; to create their first task.&lt;/p&gt;
&lt;h3 id="concealing-actions"&gt;Concealing Actions&lt;a class="td-heading-self-link" href="#concealing-actions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Concealing actions reduces menu clutter and keeps focus on common tasks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Use &lt;code&gt;⌘S&lt;/code&gt; or the Task main menu to show or hide Charts, Quick task, log view, and other options that are hidden by default. The primary Sidebar menu is also context-sensitive.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="new-tasks-and-verification"&gt;New Tasks and Verification&lt;a class="td-heading-self-link" href="#new-tasks-and-verification" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;RsyncUI can synchronize data to:&lt;/p&gt;</description></item><item><title>New tasks</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/tasks/new-tasks/</link><pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/tasks/new-tasks/</guid><description>&lt;p&gt;A task requires a minimum of a source directory and a destination directory. The destination can be a local attached disk or a remote server.&lt;/p&gt;
&lt;div class="alert alert-danger" role="alert"&gt;
&lt;p&gt;Always verify the result of a new task before executing. Select &lt;em&gt;&amp;ldquo;Verify tasks&amp;rdquo;&lt;/em&gt; from the primary Sidebar menu.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Pressing the &lt;code&gt;Enter&lt;/code&gt; key will advance to the next field. Pressing the &lt;code&gt;Enter&lt;/code&gt; key will automatically add a new task after the last input. Tasks are saved to permanent storage after each entry.&lt;/p&gt;</description></item><item><title>Synchronize data</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/synchronize/</link><pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/synchronize/</guid><description>&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;The &lt;em&gt;Synchronize&lt;/em&gt; view runs all or selected tasks in a single operation via &lt;em&gt;shortcut actions&lt;/em&gt; or toolbar &lt;em&gt;functions&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;For a single task, the first double-click initiates a &lt;code&gt;--dry-run&lt;/code&gt; estimate; a second double-click executes the actual run.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Shortcut actions within the &lt;em&gt;Synchronize&lt;/em&gt; view:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;estimate&lt;/em&gt; - shortcut &lt;code&gt;⌘E&lt;/code&gt; estimates all or selected tasks&lt;/li&gt;
&lt;li&gt;&lt;em&gt;synchronize&lt;/em&gt; - shortcut &lt;code&gt;⌘R&lt;/code&gt; synchronizes all or selected tasks without estimation
&lt;ul&gt;
&lt;li&gt;no progress bar during synchronization; a progress bar requires estimation first&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;abort&lt;/em&gt; - shortcut &lt;code&gt;⌘K&lt;/code&gt; aborts and halts any ongoing task&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;RsyncUI opens the &lt;em&gt;Synchronize&lt;/em&gt; view at launch. Click the &lt;em&gt;wand and stars&lt;/em&gt; (shortcut &lt;code&gt;⌘E&lt;/code&gt;) on the toolbar to estimate all tasks.&lt;/p&gt;</description></item><item><title>URL commands</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/advanced/url-commands/</link><pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/advanced/url-commands/</guid><description>&lt;p&gt;Deep links provide direct access to app features via URL. Using deep links, you can estimate and synchronize in a single click. Deep links in RsyncUI group actions that typically require multiple steps.&lt;/p&gt;
&lt;p&gt;There are three methods of using deep links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;enable RsyncUI widgets&lt;/li&gt;
&lt;li&gt;use URL functions direct within RsyncUI&lt;/li&gt;
&lt;li&gt;save a URL link in e.g., Notes&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="rsyncui-widget"&gt;RsyncUI Widget&lt;a class="td-heading-self-link" href="#rsyncui-widget" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;One widget is embedded in RsyncUI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;estimating and synchronizing&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The widget retrieves a saved URL from storage. In the Tasks view, there is a URL view where you can save the required URL. The widget shows whether a validated URL is present. To enable the widget on macOS, click the date and time icon in the upper right corner of your screen. Edit widgets and select RsyncUI, then add the widget.&lt;/p&gt;</description></item><item><title>Update tasks</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/tasks/update-tasks/</link><pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/tasks/update-tasks/</guid><description>&lt;p&gt;To update a task, select it and press the update button to write changes to storage.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/add/update.png"&gt;
&lt;/figure&gt;

&lt;h3 id="editing-a-task"&gt;Editing a task&lt;a class="td-heading-self-link" href="#editing-a-task" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Select the task in the task list. The Inspector opens on the right with tabs for &lt;strong&gt;Edit&lt;/strong&gt;, &lt;strong&gt;Parameters&lt;/strong&gt;, &lt;strong&gt;Log Records&lt;/strong&gt;, and &lt;strong&gt;Verify Task&lt;/strong&gt;. Make your changes in the relevant tab, then press the update button to save.&lt;/p&gt;
&lt;div class="alert alert-danger" role="alert"&gt;
&lt;p&gt;After changing any task parameter, always verify the task with a &lt;code&gt;--dry-run&lt;/code&gt; before executing it. Select &lt;em&gt;&amp;ldquo;Verify tasks&amp;rdquo;&lt;/em&gt; from the primary Sidebar menu.&lt;/p&gt;</description></item><item><title>Rsync and path</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/settings/rsync-and-path/</link><pubDate>Thu, 06 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/settings/rsync-and-path/</guid><description>&lt;p&gt;After changing a setting, save the changes to keep them next time you use RsyncUI.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/usersettings/settings.png"&gt;
&lt;/figure&gt;

&lt;h4 id="version-rsync"&gt;Version rsync&lt;a class="td-heading-self-link" href="#version-rsync" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;It is recommended to install the latest version of &lt;code&gt;rsync&lt;/code&gt;. RsyncUI provides direct path support for Homebrew on both Apple Silicon and Intel Macs. &lt;code&gt;RsyncUI&lt;/code&gt; will determine the type of Mac you are using. The default path for Homebrew is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel-based Mac: &lt;code&gt;/usr/local/bin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Apple Silicon: &lt;code&gt;/opt/homebrew/bin&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="path-rsync"&gt;Path rsync&lt;a class="td-heading-self-link" href="#path-rsync" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;The &lt;em&gt;snapshot&lt;/em&gt; and &lt;em&gt;syncremote&lt;/em&gt; features require the latest rsync. If an updated or new rsync is not installed by Homebrew, set the path manually.&lt;/p&gt;</description></item><item><title>Log settings</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/settings/log-settings/</link><pubDate>Wed, 05 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/settings/log-settings/</guid><description>&lt;p&gt;After changing a setting, save the changes to keep them next time you use RsyncUI.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/usersettings/logsettings.png"&gt;
&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Check for Errors in Output:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;default: off&lt;/li&gt;
&lt;li&gt;if the word &amp;ldquo;error&amp;rdquo; is found in rsync output, you are notified&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Add Summary Log Record:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;default: on&lt;/li&gt;
&lt;li&gt;a summary of each synchronization is added to the log records; view &amp;ldquo;Log Listings&amp;rdquo; from the Sidebar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;No time delay Synchronize URL-actions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;default: off&lt;/li&gt;
&lt;li&gt;if on, estimated tasks triggered by URL-actions will synchronize without any chance to abort&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Hide the Sidebar on startup&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>SSH settings</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/ssh-setup/ssh-settings/</link><pubDate>Tue, 04 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/ssh-setup/ssh-settings/</guid><description>&lt;p&gt;After changing a setting, save the changes to keep them next time you use RsyncUI.&lt;/p&gt;
&lt;p&gt;This view configures the global SSH keypath and identity file used by RsyncUI for all remote tasks. For a guide on creating SSH keys, see &lt;em&gt;SSH keys and passwordless login&lt;/em&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/usersettings/ssh.png"&gt;
&lt;/figure&gt;

&lt;h4 id="local-ssh-key-present"&gt;Local SSH Key Present&lt;a class="td-heading-self-link" href="#local-ssh-key-present" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;When this is &amp;ldquo;on&amp;rdquo;, RsyncUI has detected a local SSH key.&lt;/p&gt;
&lt;p&gt;The default RSA-based SSH key values are &lt;code&gt;~/.ssh/id_rsa&lt;/code&gt; and port &lt;code&gt;22&lt;/code&gt;. These are not required if you use the defaults. If you do not specify your own keypath and identity file, RsyncUI uses the defaults. If a local SSH key is present, leave the settings as-is or set your own keypath and identity file. RsyncUI will mark the selected settings as default.&lt;/p&gt;</description></item><item><title>SSH keys and passwordless login</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/ssh-setup/ssh-keys/</link><pubDate>Mon, 03 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/ssh-setup/ssh-keys/</guid><description>&lt;p&gt;To synchronize to a remote server, RsyncUI requires passwordless SSH key authentication. Password-based authentication is not supported. SSH keys are more secure than passwords and allow RsyncUI to run unattended tasks without prompting.&lt;/p&gt;
&lt;h3 id="default-ssh-keys"&gt;Default SSH keys&lt;a class="td-heading-self-link" href="#default-ssh-keys" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If you use the standard RSA key location (&lt;code&gt;~/.ssh/id_rsa&lt;/code&gt;) and the default port 22, no extra configuration is needed in RsyncUI. RsyncUI detects the key automatically and appends &lt;code&gt;-e ssh&lt;/code&gt; to the rsync command to tunnel and encrypt the transfer.&lt;/p&gt;</description></item><item><title>Export and import</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/advanced/export-import/</link><pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/advanced/export-import/</guid><description>&lt;p&gt;Tasks can be exported and imported between profiles and to new Macs. Select the &amp;ldquo;File&amp;rdquo; menu and then &amp;ldquo;Export and import.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="export"&gt;Export&lt;a class="td-heading-self-link" href="#export" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Exporting saves all tasks in the current profile to a JSON file. Choose a location to save the file — for example, your Documents folder or a shared drive accessible from another Mac.&lt;/p&gt;
&lt;h3 id="import"&gt;Import&lt;a class="td-heading-self-link" href="#import" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Importing reads a previously exported JSON file and adds those tasks to the selected profile. You can import into an existing profile or a new one. Duplicate tasks are not filtered automatically, so review the task list after importing.&lt;/p&gt;</description></item><item><title>Snapshots</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/snapshots/</link><pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/snapshots/</guid><description>&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;Snapshots are an effective way to restore previous data and deleted files. They use &lt;a href="https://en.wikipedia.org/wiki/Hard_link"&gt;hardlinks&lt;/a&gt; to save copies of only modified and deleted files. Unchanged files remain as hardlinks to the original.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;In each snapshot task, RsyncUI stores the next snapshot number. The number increments by one after each run. Rsync automatically creates the next snapshot directory, and RsyncUI updates the stored number. The number is displayed as part of the log timestamp.&lt;/p&gt;</description></item><item><title>Latest version of rsync</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/rsync-version/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/getting-started/rsync-version/</guid><description>&lt;p&gt;The default &lt;code&gt;/usr/bin/rsync&lt;/code&gt; differs between macOS versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;macOS Sonoma&lt;/strong&gt;: Uses rsync version 2.6.9 (released November 2006)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macOS Sequoia and later&lt;/strong&gt;: Use &lt;code&gt;openrsync&lt;/code&gt;, a BSD-licensed implementation compatible with rsync protocol 29 and version 2.6.9&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;I strongly recommend installing the latest version of rsync (version 3.x) to take full advantage of RsyncUI&amp;rsquo;s features.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="installing-rsync-via-homebrew"&gt;Installing rsync via Homebrew&lt;a class="td-heading-self-link" href="#installing-rsync-via-homebrew" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Install the latest version using Homebrew:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install rsync
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After installation, configure RsyncUI:&lt;/p&gt;</description></item><item><title>MIT License</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/license/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/license/</guid><description>&lt;p&gt;The MIT License (MIT), also explained on &lt;a href="https://en.wikipedia.org/wiki/MIT_License"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-code" data-lang="code"&gt;Copyright (c) 2020 - 2025 - Thomas Evensen

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the &amp;#34;Software&amp;#34;), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software,
and to permit persons to whom the Software is furnished to do so, subject
to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED &amp;#34;AS IS&amp;#34;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Parameters to rsync</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/parameters/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/parameters/</guid><description>&lt;p&gt;RsyncUI provides sensible defaults for synchronization. The defaults applied to a task depend on whether rsync runs over a network or to a local disk.&lt;/p&gt;
&lt;p&gt;You can adjust the defaults. Task configurations store their parameters, including any task-specific SSH option, which overrides the global SSH setting.&lt;/p&gt;
&lt;div class="alert alert-danger" role="alert"&gt;
&lt;p&gt;Always verify the result after changing rsync parameters. Select &lt;em&gt;&amp;ldquo;Verify tasks&amp;rdquo;&lt;/em&gt; from the Sidebar.&lt;/p&gt;
&lt;/div&gt;
&lt;h3 id="task-specific-parameters-to-rsync"&gt;Task-Specific Parameters to rsync&lt;a class="td-heading-self-link" href="#task-specific-parameters-to-rsync" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To add a parameter, enter it in a field. RsyncUI supports seven user-defined parameters across the fields. You are responsible for correctness—invalid values will cause rsync errors.&lt;/p&gt;</description></item><item><title>RsyncUI files, JSON</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/config-files/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/config-files/</guid><description>&lt;p&gt;RsyncUI stores all data locally on your Mac in &lt;a href="https://en.wikipedia.org/wiki/JSON"&gt;JSON&lt;/a&gt; format, including task configurations, logs, and settings. Understanding the file structure helps with backup and troubleshooting.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Due to historical reasons, the location of configuration files is &lt;code&gt;.rsyncosx&lt;/code&gt; and not &lt;code&gt;.rsyncui&lt;/code&gt;. This is because the development of RsyncUI commenced with the now-archived application RsyncOSX.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="file-locations"&gt;File Locations&lt;a class="td-heading-self-link" href="#file-locations" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All RsyncUI files are stored in: &lt;code&gt;$HOME/.rsyncosx/&amp;lt;macserialnumber&amp;gt;&lt;/code&gt;, where &lt;code&gt;&amp;lt;macserialnumber&amp;gt;&lt;/code&gt; is your Mac&amp;rsquo;s serial number, which is retrieved at startup.&lt;/p&gt;</description></item><item><title>Schedule</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/schedule/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/schedule/</guid><description>&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;The schedule function is disabled by default. Please refer to the &lt;em&gt;RsyncUI settings, Monitor and log&lt;/em&gt; section to enable it.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Schedules are saved automatically. RsyncUI loads tasks that are due. Tasks scheduled while the Mac was shut down are not loaded. If the Mac sleeps, missed tasks appear in the Schedule view. &lt;em&gt;Missed tasks do not run automatically.&lt;/em&gt;&lt;/p&gt;
&lt;div class="alert alert-secondary" role="alert"&gt;
&lt;p&gt;The scheduler uses the Timer library. According to Apple: &lt;em&gt;&amp;ldquo;A timer that fires after a certain time interval has elapsed, sending a specified message to a target object.&amp;rdquo;&lt;/em&gt; The timer has a strong reference to the run loop on the main thread. If the app goes to sleep, so does the run loop. The timer is active only while RsyncUI is running.&lt;/p&gt;</description></item><item><title>Signing and notarization</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/notarization/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/reference/notarization/</guid><description>&lt;p&gt;RsyncUI is digitally signed with my Apple Developer Certificate and &lt;a href="https://support.apple.com/en-us/HT202491"&gt;notarized&lt;/a&gt; by Apple. This verification ensures the application is free from malicious code and works with Gatekeeper. When opening a new or updated app for the first time, Apple will display a notification.&lt;/p&gt;
&lt;h3 id="what-this-means-for-you"&gt;What this means for you&lt;a class="td-heading-self-link" href="#what-this-means-for-you" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gatekeeper&lt;/strong&gt; will allow RsyncUI to run without warnings, because Apple has verified the developer signature.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No quarantine prompt&lt;/strong&gt; — you will not be asked to confirm that you want to open a downloaded app from an unknown developer.&lt;/li&gt;
&lt;li&gt;The SHA-256 hash published with each release lets you independently verify that the downloaded binary matches what was signed and notarized.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If installed via Homebrew, the hash is verified automatically. For direct downloads from GitHub, verify the hash manually before running the app.&lt;/p&gt;</description></item><item><title>Profiles</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/profiles/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/profiles/</guid><description>&lt;p&gt;Tasks can be organized into profiles. A profile is a named directory where RsyncUI stores its files.&lt;/p&gt;
&lt;p&gt;When you create a profile (for example, &lt;code&gt;newprofile&lt;/code&gt;), RsyncUI creates a new directory at:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$HOME/.rsyncosx/&amp;lt;macserialnumber&amp;gt;/newprofile
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;where &lt;code&gt;&amp;lt;macserialnumber&amp;gt;&lt;/code&gt; is your Mac&amp;rsquo;s serial number. All tasks and log files for that profile are stored within this directory.&lt;/p&gt;
&lt;h3 id="why-use-profiles"&gt;Why use profiles?&lt;a class="td-heading-self-link" href="#why-use-profiles" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Profiles are useful for separating unrelated sets of tasks — for example, one profile for work backups and another for personal photos. Switching profiles loads only the tasks for that profile, keeping the task list focused.&lt;/p&gt;</description></item><item><title>QuickTask</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/quick-task/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/quick-task/</guid><description>&lt;p&gt;Use QuickTask to quickly copy or transfer files. QuickTask remembers the last task as defaults; you can clear them via the toolbar. QuickTask works only with remote servers and requires passwordless SSH login.&lt;/p&gt;
&lt;p&gt;There are two types of quick tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;synchronize&lt;/em&gt; - synchronize local files to remote (push data)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;syncremote&lt;/em&gt; - synchronize remote files to local (pull data)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="trailing-slash-options"&gt;Trailing Slash Options&lt;a class="td-heading-self-link" href="#trailing-slash-options" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Add&lt;/em&gt; - adds a trailing slash to both the source and destination&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Do not add&lt;/em&gt; - does not add a trailing slash, or if added, removes it&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Do not check&lt;/em&gt; - does not check for a trailing slash on either the source or destination&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/quicktask/quicktask.png"&gt;
&lt;/figure&gt;

&lt;p&gt;After entering data, the default task is a &lt;code&gt;--dry-run&lt;/code&gt; task. Inspect the result before executing the actual run.&lt;/p&gt;</description></item><item><title>Restore data</title><link>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/restore/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/docs/core-features/restore/</guid><description>&lt;p&gt;RsyncUI restores only from remote servers. For local attached volumes, use Finder. Always restore to a temporary path to avoid overwriting your original data.&lt;/p&gt;
&lt;h3 id="how-to-restore-files"&gt;How to Restore Files&lt;a class="td-heading-self-link" href="#how-to-restore-files" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Filter files&lt;/strong&gt;: Use the filter field to search for files or directories. The filter shows only filenames containing the search string.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure&gt;&lt;img src="https://deploy-preview-39--rsyncui.netlify.app/images/restore/restore_filter_all.png"&gt;
&lt;/figure&gt;

&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Select files&lt;/strong&gt;: Choose either a file or a directory to restore.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;View the command&lt;/strong&gt;: Toggle the &lt;em&gt;command&lt;/em&gt; switch to see the actual restore command that will be executed.&lt;/p&gt;</description></item><item><title>About</title><link>https://deploy-preview-39--rsyncui.netlify.app/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-39--rsyncui.netlify.app/about/</guid><description>&lt;section id="td-cover-block-0" class="row td-cover-block td-cover-block--height-auto js-td-cover td-overlay td-overlay--dark -bg-dark" &gt;
 &lt;div class="col-12"&gt;
 &lt;div class="container td-overlay__inner"&gt;
 &lt;div class="text-center"&gt;
 &lt;h1 class="display-1 mt-0 mt-md-5 pb-4"&gt;About&lt;/h1&gt;
 &lt;div class="pt-3 lead"&gt;
&lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;
&lt;div&gt;&lt;a id="td-block-1" class="td-anchor-no-extra-offset"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;section class="row td-box td-box--primary td-box--height-auto"&gt;
&lt;div class="col"&gt;
&lt;div class="container"&gt;
&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;If you have ideas or feedback about RsyncUI, feel free to reach me at &lt;a href="mailto:thomeven@gmail.com"&gt;thomeven@gmail.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I started RsyncOSX in August 2016 as a way to learn Swift. After eight years of releases, it was archived in August 2024. RsyncUI, built with SwiftUI, began in late 2020 and is still actively developed.&lt;/p&gt;
&lt;p&gt;I hold a master&amp;rsquo;s degree in computing science, earned in the early 1990s when Linux and the public Internet were emerging. The Web itself was invented just a few years earlier, in 1989 at CERN. I&amp;rsquo;m a solo developer focused on keeping RsyncUI stable and usable. I&amp;rsquo;m not a professional UI designer, so parts of the interface may feel dense.&lt;/p&gt;</description></item></channel></rss>