# Install lsyncd with Homebrew, apk, apt, dnf, Nix, zypper

Synchronize local directories with remote targets. Version 2.3.1 via Homebrew; verified 2026-05-17.

## Install

```sh
sudo av install brew:lsyncd
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install lsyncd
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add lsyncd
```

  Evidence: Alpine Linux edge package indexes: lsyncd from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install lsyncd
```

  Evidence: Debian stable package indexes: lsyncd from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install lsyncd
```

  Evidence: Fedora Rawhide package metadata: lsyncd from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#lsyncd
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ls/lsyncd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install lsyncd
```

  Evidence: openSUSE Tumbleweed package metadata: lsyncd from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:lsyncd
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/lsyncd>
- **Version:** 2.3.1
- **Source summary:** Synchronize local directories with remote targets
- **Homepage:** <https://github.com/lsyncd/lsyncd>
- **Repository:** <https://github.com/lsyncd/lsyncd>
- **Upstream docs:** <https://lsyncd.github.io/lsyncd>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/lsyncd/lsyncd/archive/refs/tags/release-2.3.1.tar.gz>
- **Last updated:** 2026-05-17T16:38:55Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- lsyncd (cli)
- lsyncd (alias)

## Dependencies

- lua@5.4

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.3.1
- Package-manager updated: 2026-05-17
- Local data: ok
- Upstream repository: https://github.com/lsyncd/lsyncd
- info: No cached GitHub release or tag data was available.
## Project history and usage

Lsyncd, short for Live Syncing Daemon, is a Unix daemon that watches filesystem events and batches changes into rsync or rsync+ssh transfers.

### Project history

The official README and manual describe Lsyncd as a lightweight live mirror solution built around platform filesystem event APIs: inotify on Linux and fsevents on macOS. Instead of introducing a new filesystem or block replication layer, it waits briefly, collapses change events, and spawns rsync or related actions to keep a target tree synchronized.

Lsyncd's configuration model is a major part of its identity. The manual documents Lua-syntax configuration files, daemon-wide `settings`, default sync layers such as `default.rsync`, `default.rsyncssh`, and `default.direct`, and lower-level customization paths that can range from shell commands to Lua code.

### Adoption history

The project has unusually strong adoption signals for a daemon-sized Unix utility: GitHub shows roughly 6.1k stars, 474 forks, 926 commits, and a long issue history. The supplied package-manager facts show packaging across Homebrew, Debian, Ubuntu, Fedora/DNF, Alpine, Nix, and openSUSE/Zypper, which is consistent with a tool used by administrators rather than a single-platform script.

Recent official release notes show renewed maintenance. Version 2.3.0 is described as the first release 'since quite a while' under a new maintainer, adding nix flake support, tunnel commands, `batchSizeLimit`, `-onepass`, crontab support, and relative executable paths; version 2.3.1 followed with bug fixes and cleanup.

### How it is used

The official invocation docs say Lsyncd can be configured mainly by passing a config file as the only command-line option, or cursorily through options such as `-rsync` and `-rsyncssh`. The manual's examples show typical one-way mirroring from a source directory to a local destination, remote rsync target, or remote host and target directory.

The project explicitly warns against treating it as a two-way synchronization system. Its README frames Lsyncd as best for slowly changing local directory trees, especially one-way sync from a secure area to a less secure mirror, and points users at specialized tools such as git-annex for bidirectional or conflict-aware workflows.

### Why package nerds care

Lsyncd is package-nerd significant because it sits at the intersection of classic Unix tools: kernel file notifications, rsync, ssh, daemonization, and Lua configuration. It is the kind of package administrators install to avoid a heavier distributed filesystem while still getting near-real-time mirroring from familiar components.

Its cross-distro packaging also makes it useful as a history marker: it is not a fashionable single-ecosystem tool, but a durable sysadmin daemon that earned its place in major package sets through practical deployment value.

### Timeline

- 2.1 era: Documentation says Lsyncd is predominantly configured through a config file.
- 2.2.1: README states Lsyncd requires rsync >= 3.1 on source and target machines.
- 2.3.0: Release notes describe renewed maintenance and new features including nix flakes, tunnels, `-onepass`, and crontab support.
- 2.3.1: Latest GitHub release lists bug fixes and code cleanup.

### Related projects

- rsync is the default synchronization backend.
- ssh is used by the rsync+ssh mode to handle remote moves efficiently.
- Lua supplies the configuration language.
- DRBD, GlusterFS, BindFS, Mirror, and git-annex are discussed in the README as related synchronization approaches with different trade-offs.

### Sources

- <https://github.com/lsyncd/lsyncd>
- <https://github.com/lsyncd/lsyncd/releases>
- <https://lsyncd.github.io/lsyncd/>
- <https://lsyncd.github.io/lsyncd/manual/config/file/>
- <https://lsyncd.github.io/lsyncd/manual/invoking/>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for lsyncd. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** lsyncd
- **Version Scheme:** 0
- **Revision:** 1
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - lsyncd - 2.2.3-1+b1: normalized package name match | Debian stable package indexes: lsyncd from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | daemon to synchronize local directories using rsync | https://github.com/axkibe/lsyncd
- Nix - lsyncd: normalized package name match | nixpkgs package indexes: pkgs/by-name/ls/lsyncd/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - lsyncd - 2.2.3-1: normalized package name match | Ubuntu 24.04 LTS package indexes: lsyncd from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | daemon to synchronize local directories using rsync | https://github.com/axkibe/lsyncd
- apk - lsyncd - 2.3.1-r1: normalized package name match | Alpine Linux edge package indexes: lsyncd from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Live Syncing (Mirror) Daemon | https://github.com/lsyncd/lsyncd
- apk - lsyncd-doc - 2.3.1-r1: normalized package name match | Alpine Linux edge package indexes: lsyncd-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Live Syncing (Mirror) Daemon (documentation) | https://github.com/lsyncd/lsyncd
- apk - lsyncd-openrc - 2.3.1-r1: normalized package name match | Alpine Linux edge package indexes: lsyncd-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Live Syncing (Mirror) Daemon (OpenRC init scripts) | https://github.com/lsyncd/lsyncd
- dnf - lsyncd - 2.3.1-12.fc45: normalized package name match | Fedora Rawhide package metadata: lsyncd from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | File change monitoring and synchronization daemon | https://axkibe.github.io/lsyncd/
- zypper - lsyncd - 2.3.1-2.7: normalized package name match | openSUSE Tumbleweed package metadata: lsyncd from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Live Syncing (Mirror) Daemon | https://github.com/axkibe/lsyncd


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [lua@5.4](https://www.automicvault.com/pkg/brew/lua-5-4/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [apcupsd](https://www.automicvault.com/pkg/brew/apcupsd/) - Shares av.db curated category or tags: cli, daemon, system.
- [collectd](https://www.automicvault.com/pkg/brew/collectd/) - Shares av.db curated category or tags: cli, daemon, system.
- [dbus](https://www.automicvault.com/pkg/brew/dbus/) - Shares av.db curated category or tags: cli, daemon, system.
- [detach](https://www.automicvault.com/pkg/brew/detach/) - Shares av.db curated category or tags: cli, daemon, system.
- [direvent](https://www.automicvault.com/pkg/brew/direvent/) - Shares av.db curated category or tags: cli, daemon, system.
- [dwatch](https://www.automicvault.com/pkg/brew/dwatch/) - Shares av.db curated category or tags: cli, daemon, system.
- [fwupd](https://www.automicvault.com/pkg/brew/fwupd/) - Shares av.db curated category or tags: cli, daemon, system.
- [immortal](https://www.automicvault.com/pkg/brew/immortal/) - Shares av.db curated category or tags: cli, daemon, system.
- [orgalorg](https://www.automicvault.com/pkg/brew/orgalorg/) - Local package facts share a topical domain. Shared terms: cli, file, file-sync, remote, sync.
- [rsyncy](https://www.automicvault.com/pkg/brew/rsyncy/) - Local package facts share a topical domain. Shared terms: cli, file, rsync, system.

## Combined YAML source

View the package source record on GitHub. [combined/lsyncd.yml](https://github.com/automic-vault/db/blob/main/combined/lsyncd.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
