All Projects → nadavgolden → zfs-auto-mirror

nadavgolden / zfs-auto-mirror

Licence: other
Automatic ZFS dataset mirroring

Programming Languages

shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to zfs-auto-mirror

abgleich
zfs sync tool
Stars: ✭ 22 (+46.67%)
Mutual labels:  zfs, zfsonlinux
zfsbootmenu
ZFS Bootloader for root-on-ZFS systems with support for snapshots and native full disk encryption
Stars: ✭ 377 (+2413.33%)
Mutual labels:  zfs, zfsonlinux
arch-config
Scripts and Ansible playbook to setup Arch Linux on ZFS.
Stars: ✭ 36 (+140%)
Mutual labels:  zfs, zfsonlinux
docker-zfs-plugin
Docker volume plugin for creating persistent volumes as a dedicated zfs dataset.
Stars: ✭ 71 (+373.33%)
Mutual labels:  zfs, zfsonlinux
cstor
CAS Data Engine - User Space implementation of a popular COW Data Engine - ZFS
Stars: ✭ 47 (+213.33%)
Mutual labels:  zfs, zfsonlinux
rpooler
A guided installation script for zfs rpools
Stars: ✭ 30 (+100%)
Mutual labels:  zfs, zfsonlinux
corezfs
ZFS on Linux (ZoL) on CoreOS
Stars: ✭ 27 (+80%)
Mutual labels:  zfs, zfsonlinux
picol
(Fossil repository mirror) A tiny interpreter
Stars: ✭ 19 (+26.67%)
Mutual labels:  mirror
jill.py
A cross-platform installer for the Julia programming language
Stars: ✭ 202 (+1246.67%)
Mutual labels:  mirror
mastodon-to-twitter
Mas2tter - the Mastodon-to-Twitter Mirrorbot
Stars: ✭ 22 (+46.67%)
Mutual labels:  mirror
shape-json
Module used to convert a flat json array into a nested json object with a predefined scheme
Stars: ✭ 31 (+106.67%)
Mutual labels:  mirror
Mirry
Simple Mirror App
Stars: ✭ 18 (+20%)
Mutual labels:  mirror
adlibre-backup
High performance rsync backup utilising BTRFS / ZFS filesystem features
Stars: ✭ 35 (+133.33%)
Mutual labels:  zfs
SideMirror
An Android Studio plugin to mirror your android devices with scrcpy directly from Android Studio.
Stars: ✭ 49 (+226.67%)
Mutual labels:  mirror
zap
Maintain and replicate ZFS snapshots
Stars: ✭ 48 (+220%)
Mutual labels:  zfs
integrated-manager-for-lustre
Integrated Manager for Lustre
Stars: ✭ 64 (+326.67%)
Mutual labels:  zfs
images-processing
Project of computational mathematics, image processing, eliminating the noise of an image, reflection of an image and canny filter
Stars: ✭ 23 (+53.33%)
Mutual labels:  mirror
copybara-action
Transform and move code between repositories. Start with ZERO config and 100% customizable.
Stars: ✭ 69 (+360%)
Mutual labels:  mirror
Reflector
Example of type safe properties reflection in Swift.
Stars: ✭ 14 (-6.67%)
Mutual labels:  mirror
lyx
Unofficial mirror of git://git.lyx.org/lyx.git (updates daily. not affiliated with lyx.org.)
Stars: ✭ 34 (+126.67%)
Mutual labels:  mirror

zfs-auto-mirror

Mirror a ZFS filesystem from a remote server using incremental transfers.

Install

# git clone https://github.com/nadavgolden/zfs-auto-mirror.git
# cd zfs-auto-mirror
# sudo make install

* Note: for the --progress option to work, pv should be installed, e.g.:

# sudo apt install pv

Usage

Usage: zfs-auto-mirror [options] target remote_dataset local_dataset
  options:
    -f             Force full sync if conflict is detected between local and remote snapshots
    -d N           Print N-th log level (1=DEBUG, 2=INFO, 3=WARNING, 4=ERROR)

    -h, --help           Print this usage message
    -l, --label          Filter this label from snapshots (default: zfs-auto-mirror)
    -p, --progress       Display data transfer information. 'pv' installation required
    -D, --destroy=DAYS   Destroy snapshots taken up to DAYS days ago
  
  positional:
    target          user@remote, used for SSH
    local_dataset   The dataset to mirror into
    remote_dataset  The dataset to mirror from

Prerequisites

  1. ZFS installed (duh).
  2. User on remote should be allowed to:
    # zfs allow <user> send,hold <dataset>
    
  3. User on mirror (local machine) should be allowed to:
    # zfs allow <user> create,destroy,mount,receive <dataset>
    
  4. SSH to remote with public key authentication so that SSH would not prompt for password.

Notes

Notes about the script:

  • It runs on the mirror - it pulls changes from the main server. This is by design.
  • It does not remove snapshots which has been deleted on the main server.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].