Before installing and using RsyncOSX there are some important information to read and understand. The (1) document is how to get and install RsyncOSX. The (2) document is some information what RsyncOSX is and how to use the application. Please read the (2) document before using RsyncOSX.
This page is a short intro to RsyncoSX and a brief walkthrough of the main functions of RsyncOSX. Some of the screenshots are previous versions. For more details about the various functions of RsyncOSX please see the documentation about each function. Be sure you understand the basics about how rsync works before using RsyncOSX (and rsync).
Rsync is a file based synchronization tool. There is no custom solution for the backup archive. You can quit utilizing RsyncOSX (and rsync) at any time and still have access to all synchronized files. Be sure you understand the basics how rsync works before using RsyncOSX (and rsync).
The objective is to assist setting up passwordless logins. Ssh does not provide any possibilities to pass password as parameter. Some actions to setup passwordless logins therefore require a terminal window for copy/paste commands for password prompt and execution of task.
There are only a few parameters to choose in user configuration. The parameters are:
The snapshot feature enables saving changed and deleted files ahead of a new synchronizing task. The snapshot saves the current state of all files in a separate directory ahead of any changes or deletions. Changed and deleted files can then be restored utilizing the copy single files features. The full restore will copy the last snapshot from remote storage to either the source directory or a temporary restore directory.
In main view (which is the opening view) tasks can be executed as single- and/or batch tasks. Execute single tasks requires a couple of double clicks : one for estimation run and the second for executing the real task. The output from rsync is presented after each run (see below).
A scheduled task is only active within the profile in use. If you add a scheduled task in one profile and change profile, the schedule will be inactive until profile is loaded again. By selecting a row and choose schedule applies a scheduled backup to a task. There are three choices for schedules :
RsyncOSX implements default parameters which are working fine for simple backup and restore tasks. The actual parameters used in tasks is depended upon executing rsync over network connection or not. Which standard parameters to use is computed during startup of application by reading the configuration file.
A complete or full restore is commenced by selecting the task to restore. The rsync command shows either the
--dry-run backup command or the restore command to execute. You might copy the command to a terminal window to check the result of a run. It is a
--dry-run only and simulates the real run.
There are two options for executing quick backups, either go via the i-button or directly to quickbackup. The best way is to go via the i-button. By selecting the tasks for quickbackup within the information view (i-button), RsyncOSX picks up the estimation and uses the numbers to indicate the progress of backup.
Backup to offsite or remote backup locations (servers) requires some more setup. By using rsync from command-line it prompts for login ID and password. There is, as far as I know, no solution for passing login credentials to rsync command-line tool by parameter. But ssh has possibility to enable passwordless logins by using ssh generated private and public key-pair.
The website LibreByte has written an article 14 Practical examples of the rsync command. One of the examples is instructing rsync to store backups of files in a backup folder and rename old files by a date suffix.
I have downloaded and installed the beta of macOSX 10.14 Mojave and Xcode10 beta. All three apps are compiled with no changes in code by Xcode 10 beta on MacOS 10.13. The apps are installed on beta of macOSX 10.14 Mojave. By compiling with Xcode 10 beta they are compatible with the new Dark Mode in 10.14.
This is the
menu app for executing scheduled tasks in RsyncOSX. The idea is to add scheduled tasks in RsyncOSX, quit RsyncOSX and let the menu app take care of executing the scheduled tasks. The menu app is logging all executions as if they were executed from RsyncOSX. Either the menu app or RsyncOSX is allowed execute scheduled tasks.
Logging in RsyncOSX might be switched on/off in user configuration. All log records are listed in table within Logs tab. The log records are by default sorted with most recent log ontop. Log records can be filtered by text search by selecting the appropriate column. The direction, ascending or descending, is selected by direction of the arrow.
The MIT License (MIT)
For some years I have used the rsync command line tool, included in every OS X version, Linux distribution, Solaris for backing up Documents and Pictures catalogs on my MacBooks. I have used rsync by copy and pasting the rsync command with required parameters in a terminal window to backup and restore data. It is easy to do mistakes. Forget an
/ character and rsync does not execute as expected. And change the order of parameter it is easy to do a restore and not a backup. That might result in deleting files and not saving, overwriting newer files with older versions and so on. And I have done it some times…
Rsync does not support encrypted backups by itself. It is probably possible to do encrypted backups utilize filesystems as encfs. Rclone is “a rsync for cloud storage” command line tool which also supports encrypted backups. By combining
rsync, encrypted backups is enabled within RsyncOSX. If your primary object is saving encrypted backups on cloud storage services only there is no need for RsyncOSX. I am saving some personal data on remote servers (not cloud storage) and encrypts the data before synchronizing data.
This is a short resume about my do it yourself (DIY) NAS. I do not spend much time building or maintaining my NAS. The main purposes of my NAS are:
Copy file and volume enables the user to select single file or catalogs for restore to a selected local storage. The source for copy is either selected row in Execute view or if selecting
Select button drop down list of all backup locations.
I am using the application on a daily basis and it evolves during my own use. Suggestions for new features, enhancements and bug reports are more than welcome. Please add an Issue regarding any requests or bugs. There is, 28 January 2018, a new version 3.1.3 of rsync. I will include a .dmg file with latest version of rsync for manually install as part of the new releases of RsyncOSX. If you plan to utilize the snapshot feature of RsyncOSX, please use either version 3.1.2 or 3.1.3 of rsync.
Some remote info is cached after the first collection of information. It applies to local and remote info about one task and all tasks. If there has been executed a backup task the cache is deleted.
Only backup tasks can be set for execution in batch. All tasks marked for batch is presented in screen for batchtask. Choosing
Execute executes all tasks in one go, both the estimation and real run. The screen is updated as the process of execution is going forward. After all tasks are completed the view closes automatically in 10 seconds (if not closed before).
The automatic feature of RsyncOSX is triggered by
⌘B shortcut. RsyncOSX executes a
--dry-run task for all configurations and execute a backup run for all tasks with data to be transferred or files to be deleted.
Adding configurations is easy. A configuration require minimum Local catalog and Remote catalog. And they should not be equal (obvious). After entering information about a configuration select the Add button to add it to RsyncOSX. Continue adding new configurations until completed and configurations are saved to permanent storage after each entry.
This is documentation of the design and code of RsyncOSX. I have just commenced the process (June 2017) and it will take time to complete. Why am I doing it? Well, primary for fun but i might learn something from it as well. The design of RsyncOSX is based upon ideas of the MVC pattern. One of the objectives in MVC is to separate the views and models.
The object Readwritefiles.swift decides if data should be read from memory or permanent storage. All data (configurations, schedules and log records, user config) is read from permanent storage utilizing the NSDictionary foundation class.
RsyncOSX utilizes the object RsyncParameters.swift to analyze and set whatever parameters to rsync the user sets. There are no check of parameters set for rsync is correct. If the user enters bad parameters RsyncOSX passes bad parameters to rsync.
Schedules including log records are loaded into a separate data structure. Schedules and log records ConfigurationSchedule are linked to Configuration by
hiddenID = Int. Schedules including log records are saved in a separate XML-file (plist).
The configurations are read from the permanent storage and kept in memory until a new profile is loaded or RsyncOSX quits. Each record (one task) are read from permanent storage as a
NSDictionary item, copied to a
Configuration and loaded into an
This page is a short intro to RcloneOSX and a brief walkthrough of the main functions of RcloneOSX. The intro is based on a early version. There has been updates to the application after the intro was made. RcloneOSX is a port of RsyncOSX to utilize
This is the Changelog for RcloneOSX. RcloneOSX is a port of RsyncOSX to utilize