The sys admin's daily grind – Pulse

Here and There

Article from Issue 173/2015

Equal treatment, as sys admin Charly so boldly proposes, should be the norm. What he really wants is a free tool to sync user data across multiple computers.

In the past, I have covered various approaches to keeping files synchronized across two or more computers. BitTorrent Sync [1] does a great job here, but it's not open source. Pulse [2] is a GPLv3 tool knocking on the door of all data duplicators. It is a Syncthing [3] fork and very popular despite its beta status.

The Pulse software is available on Linux and on OpenBSD, NetBSD, OS X, Windows, and Android. The Linux clients include versions for ARMv5, v6, and v7, which means that Pulse also runs on the Raspberry Pi and its close relatives. Communication between the computers is secured by TLS encryption with Perfect Forward Secrecy [4].

When first launched, Pulse generates keys and certificates, creates the ~/sync directory, and launches a web server on port 8080, which then handles the remaining configuration steps. The web interface looks pretty neat and well designed, which you wouldn't necessarily expect of a beta version (see Figure 1).

Figure 1: The web interface in Pulse is state of the art and tidy – this example shows a status page.

In Settings | Show ID, it shows you a 46-digit string representing the SHA-256 hash of the certificate. The string, which the GUI also thankfully displays as a QR code, identifies the network node. Just like BitTorrent Sync, Pulse uses a peer-to-peer protocol and does without a dedicated master.

Looking for a Partner

By exchanging hash values between the participating computers, the peers on the LAN soon start talking. This process is particularly useful on networks in which the computers are assigned a different IP address on each boot by the DHCP server. Synchronization on the web is also possible – given a matching (D)DNS and router configuration. The nodes contact a global announce server to discover the current names or IP addresses of their peers. Of course, the server doesn't get to see any transferred data.

Pulse will version stored files on request. It either keeps a specified number of versions (five being the default), or it will version in stages and store the data in increasingly longer intervals until the defined maximum age is reached.

BitTorrent Sync uses an elegant inotify mechanism to keep track of the modified data in the directory to be synced. In contrast to this, Pulse simply scans the directory cyclically – every 60 seconds by default. I really do hope that inotify support is available in the next generation Pulse; if so, it's off to the happy hunting grounds for BitTorrent Sync on my networks.

The Author

Charly Kühnast is a Unix operating system administrator at the Data Center in Moers, Germany. His tasks include firewall and DMZ security and availability. He divides his leisure time into hot, wet, and eastern sectors, where he enjoys cooking, freshwater aquariums, and learning Japanese, respectively.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • BitTorrent Sync: Painless File Syncing without the Cloud
  • Syncthing

    Syncthing is a free alternative to BitTorrent Sync for synchronizing data on computers and mobile devices.

  • Charly's Column: iWatch

    Recently, sys admin Charly was faced with the task of synchronizing a directory on a server with two NFS-mounted clients. He wanted the whole thing to happen quickly and to be easily manageable, which ruled out DRBD and GlusterFS.

  • Charly's Column – Doorbell Pi

    When Charly puts on his headphones at home, he often fails to hear the doorbell. So, he dreamed up a solution with a Raspberry Pi Zero, a noise detector, and a power outlet with a LAN connection.

  • Charly's Column – Precise Timekeeping

    After the idea of procuring an atomic clock failed to thrill the other members of Charly's household, our intrepid columnist simply decided to tap into the timekeeping of a GPS satellite. In doing so, he ensured the kind of punctuality at home that only large data centers actually need. Precisely.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More