Although it was originally developed for Unix-based systems, rsync is a network utility and protocol that has been recently adapted for compatibility with Microsoft and Apple operating systems. As its name suggests, the primary purpose of rsync is to synchronize files between local computers and remote systems through a network connection. While this is rather straightforward in nature, real world usage of the rsync protocol can become quite complicated.
Developed by Australian-born computer programmer Andrew Tridgell and his business partner, Paul Mackerras, in the early 90s, the original framework of rsync wasn't introduced to the general public until June of 1996. The protocol has been updated regularly since then, and it is now included with the most popular Linux distributions.
Meant to facilitate data backups to and from remote or local drives, the rsync protocol was originally developed as a replacement for both the remote copy and secure copy commands within Unix-based operating systems. Due to its versatility and customizability, the new protocol was quickly embraced by the Unix community. Moreover, the entire process performed by the rsync utility can even be automated via utilities such as cron. This allows you to perform unattended backups that cater to your own schedule.
Other popular features of the rsync utility include built-in support for copying links, entire groups, individual owners and specific file permissions and the ability to pipeline file transfers between systems while minimizing latency issues. Finally, rsync does not require root privileges in order to initiate the task.
The initial setup of an rsync-based server is a straightforward process. To do so, simply run rsync in daemon mode by typing "rsync --daemon" at the command line of your server. From there, you'll need to create a small configuration file. Name the file "rsyncd.conf," place in the "/etc" directory and your server is ready to operate.
Several different options are available to you when setting up the initial configuration file for your rsync server. Here you can designate individual files to fill essential roles, such as your server's message of the day, log, pid and lock files. You will also be able to specify the exact path name, a personalized comment and a means of authenticating users. Finally, you can even define your secrets file, which is used to store combinations of usernames and passwords in a plain text format. Explanations for additional security features and options available through rsync can be found within the man page of rsyncd.conf.
Once the server is setup and the configuration file is in place, you are now ready to initiate a file transfer from a remote client. There are a number of options that can be initiated when running rsync from the command line. For example, the commands of "--verbose," "--progress" and "--stats" allows you to see exactly what is happening. Use the "--compress" command to compress the file stream, and use the "--rsh" command to utilize secure shell cryptography as a means of ensuring file security. Other options let you establish excluded files or patterns, maintain file timestamps and permissions and specify source pathnames.
What is rsync?
No comments yet. Sign in to add the first!