Local Cloud
Backup: Client to Server
Part 3: Windows Client
2019.10.15
Nathan Thompson
Lot of words for the Linux side{1}, but the Windows side will be pretty easy in comparison. While Linux has several, small, moving parts to configure, Windows has essentially one program, Acrosync. I fell into this software accidentally and it works pretty well all things considered, but please feel free to use your preferred Windows tool to execute rsync backups over SSH. With Microsoft adding Windows Subsystem for Linux to recent builds of Windows 10, perhaps it might be easier to simply install that and then work through the Linux Client instructions? However, I have not tested that method yet.
Acrosync is certainly a fine tool, but it does cost $30 for a single license. Checking my receipt from a couple years back tells me I paid $25 and it has been worth every penny. Even at the current price, it would be a worthwhile purchase. Then again, I have the one Surface Pro 3, my daughter's primary computer, as such, buying a single license is hardly a budget buster. For users with multiple Windows systems or commercial users, the licensing fees can be daunting. However, remember there are a numbers of ways to accomplish this same task on Windows and I encourage anyone to explore whatever best suits, their level of ability, time frame, and budget.
{1} To be fair, a lot of words for Linux, but once you do it, we are talking somewhere between 30 minutes to an hour, maybe. All depends on how familiar you are with the listed tools and how fast you can type!
Windows Client Side
Acrosync Installation
- Acrosync is not very hard to install, but there are a couple tricky parts if you are unfamiliar with Windows services.
- Download Acrosync.
- Do not install it by double clicking if you desire for the software to run as a system service and I strongly suggest taking this route.
- Right click on the Acrosync installer and select "Run as administrator".
- Select "Install for anyone using this compter"
- Then make sure the checkbox to "Install Acrosync as a service" is selected.
SSH Key Creation and Sharing
- We are going to need an SSH key for this client. There are many ways to accomplish this task, but Windows 10 helpfully now installs open-ssh. Yay!
- Open a "Command Prompt".
- I usually just hit the Windows key and then start typing cmd.
- Windows should show you "Command Prompt". Click on it to launch.
- Type ssh-keygen
- Type in a password to encrypt the private key.
- I could not find an analogous tool to ssh-copy-id, so I settled on this work around.
- You could of course sneakernet the public key over to the Linux server.
- Copy and paste the contents of the public key into ~/.ssh/authorized_keys
- You could sneakernet the public key over to a Linux device and then over to the server.
- From Linux device, ssh-copy-id -i /location/of/windows/key.pub serveruser1@LinuxServerIPAddress
- My choice was to ssh into the server from the Windows device and then copy the key into the correct location.
- From the very same "Command Prompt",
ssh serveruser1@ServerIPAddress
- You will also be prompted if you trust our Linux server, type yes.
- Open your public key in Notepad. Again, I stress, the public key. The private key always stays with the original device. Public keys are shared, never private keys.
- Copy the public key contents from Notepad.
- Back to our trusty friend "Command Prompt". We want to store the public key from our Windows device on the server. From within our SSH connection to server:
nano ~/.ssh/authorized_keys
- Paste the public key as a new line at the bottom, if an existing file (assuming we configured a Linux client before the Windows client, the file will already exist). Otherwise, the file will be blank and you can simply copy and paste the public key on the first line. Assuming we want to know which key is now present, at the end of the public key we just pasted, add a space and then type an identifying note. E.g.
- ssh-rsa 9328y492y39y29839217739012u9031hijnjkdsfbjhsv762 windowsuser1@WindowsDevice
- Save file.
- Type
Ctrl X
to save. - Type
yes
to "Save modified buffer?" - Click return to save file in same place as original file.
- Type
- To test public key connection
- Type
exit
in the SSH connection to server.- The SSH connection should close.
Connection to YourServerIPAddress closed.
- The SSH connection should close.
- From Command Prompt, type
ssh serveruser1@ServerIPAddress
- You will be prompted to unlock the SSH key you just created.
Enter passphrase for key 'C:\Users\WindowsUser1/.ssh/id_rsa':
- You will be prompted to unlock the SSH key you just created.
- Success!
- Type
- From the very same "Command Prompt",
- You could of course sneakernet the public key over to the Linux server.
- Open a "Command Prompt".
Acrosync Installer dialogue:
"Install for anyone using this computer"
Acrosync Installer dialogue:
"Install Acrosync as a service"
Configure Acrosync
Note, to launch Acrosync in a mode capable of accepting changes, you need to right click the app and then select "Run as administrator"
- Create a New Profile for Acrosync
- Server: YourServerIPAddress (E.g. 10.0.0.100)
- Username: serveruser1
- Password: Because we are using public key authentication, this field should contain the password to unlock your private key, if any, otherwise leave blank.
- Remote Directory: The location of your directory on the server //media/serveruser1/Backup_DATA/WindowsUser1_Backup
- Local Directory: C:/Users/WindowsUser1
- Sync Mode: "Upload" should be fine{2}
- "Run at scheduled times" should be selected. {3}
- Advanced Options
- Port: 22 (assuming you keep the default SSH port on the server).
- "Over SSH" should be checked
- "Public Key Authentication" should be checked.
- This is where you will copy the contents of your encrypted private key file we created in Step 2 of "SSH Key Creation and Sharing".
- "Propagate deletion" should be checked if you want the backup directory to mirror the source exactly.
- "Create incremental snapshots" should be checked. Essentially, instead of a bunch of archive directories, you get snapshots of each backup that appear to be exact copies of the source directory at time of backup. Yet, the files do not duplicate, instead files that do not change between backups are simply hard links to the same file.{4}
- "Enable Volume Shadow Copy" should likewise be checked. Essentially, "Shadow Copy" is a tool on Windows to allow for backups/snapshots even if the files/volumes are in use.
- Back to our Scheduler Options.
- "Automatically run this profile on logon" should be checked.
- "Don't stop profile when a connection error occurs" should be checked.{5}
- "Run at a specific time" is my preference and I configured this backup to run at 12:00:00 AM every day of the week, but your preferences may differ.
- I did not configure the Email Setup, but it is convenient if you so desire.
- Close the Acrosync window and then right click on the Acrosync app icon on the right side of the taskbar to select quit. The Acrosync service will remain paused until we completely close out of Acrosync running as an administrator.
{2} "Auto Upload" adds the ability to backup files as they change, but it seems like a bad idea to select this setting for a profile meant to back up the entire user account. After all, with so many files in your home directory, there will be constant churn as the backup is continuously triggered. As I said, perhaps just stick with "Upload".
{3} After you select a schedule, the selection will change to the time selected, for instance, our selection would change to "Scheduled daily at 12:00am".
{4} This is the type of rsync backup I have considered switching to on the Linux side as well, but inertia has kept me with my old style of backups which was influenced by my time using Carbon Copy Cloner on the Mac.
{5} When I first set up my backup, I left this option unchecked. Of course, the first time the LAN connection was interrupted, a connection error occurred and the profile never ran again. Troubleshooting to no avail, all the while tearing out my hair trying to figure out why my backup stopped running from my Windows device, until finally noticing this checkbox was unchecked. Now I am bald, but happy, because my backup once again functions properly.
Acrosync Profile Configuration
Acrosync Scheduler Options
We have working backups on Windows!
Where we go from here will depend on what you need out of your system, but assuming we have followed all three parts of Local Cloud Backup, we now have a Linux server configured, Linux client(s) configured, and Windows client(s) configured. My suggestion is to check out the tutorial on how to add shared media or the tutorial on using VNC to manage the server.