Camilo Aguilar on the Rsync Algorithm [PWL NYC] (2018)
Camilo Aguilar on the Rsync Algorithm [PWL NYC] (2018)

🧩🪛 The mount subsystem rewrite 🪛🧩 in @backintime continues… and it’s rough.
🧱 It’s a grind: boring, confusing, and full of “why is this like this?” moments while untangling years of accumulated code. 😵 Not glamorous work, but necessary. Slowly making sense of the old structure and trying to shape something cleaner. Progress feels slow, but it *is* moving. 😅
Not giving up. 🔐 Right now wrestling with SSH profile handling: https://github.com/bit-team/backintime/pull/2462
Ubuntu installation on Hyper-v vm seems to be stuck on installing the system #rsync
Lubuntu install hang on low ram laptops #systeminstallation #lubuntu #rsync #2604
Lubuntu install hang #systeminstallation #lubuntu #rsync #2604
OK, here's a #TechieQuestion: if I want to sync directories from a Linux server using a Python script, does it make much difference whether I invoke a shell command with rsync from the Python script or use a dedicated Python sync command such as pyrsync?
(Boosts welcome if this isn't your area of expertise)
I need to write to the author and see if there's any chance he wants to support Codeberg more directly, but for now I've cloned the openrsync repository into my Codeberg space:
https://codeberg.org/ChibaPet/openrsync
I'll try to stay on top of updates. This will be an unmodified copy, but as with any code, be careful what you trust.
Arch Tip týdne: Zálohování – Borg vs rsync
💾 Dva osvědčené nástroje pro zálohu dat na Archu.
Každý řeší něco jiného – tady je rozdíl a kdy co použít.
═══════════════════════════════════════════
📦 BORG – chytré zálohy s historií
═══════════════════════════════════════════
Co umí:
→ deduplikace (stejný soubor se uloží jen jednou)
→ šifrování (AES-256)
→ komprese (lz4, zstd, zlib)
→ verze v čase – můžeš se vrátit k libovolnému snapshotu
Instalace:
sudo pacman -S borg
Základní workflow:
inicializace repozitáře (jen jednou)
borg init --encryption=repokey /mnt/backup/repo
vytvoření zálohy
borg create --stats --progress
/mnt/backup/repo::archos-{now}
~/Dokumenty ~/Obrázky ~/.config
výpis archivů
borg list /mnt/backup/repo
obnova souboru
borg extract /mnt/backup/repo::archos-2025-01-15 home/archos/Dokumenty
retence – nech 7 denních, 4 týdenní, 6 měsíčních
borg prune -v --list
--keep-daily=7 --keep-weekly=4 --keep-monthly=6
/mnt/backup/repo
Výhody: úspora místa, šifrování, historie
Nevýhody: data nejsou přímo čitelná – potřebuješ borg
═══════════════════════════════════════════
🔄 RSYNC – rychlý mirror 1:1
═══════════════════════════════════════════
Co umí:
→ synchronizace souborů (lokálně i přes SSH)
→ přenáší jen změny (delta)
→ zachová oprávnění, ACL, xattrs, hardlinky
→ data zůstávají čitelná jako normální soubory
Instalace:
sudo pacman -S rsync
Základní workflow:
mirror /home na externí disk
rsync -aAXHv --delete --progress
~/ /mnt/backup/home/
suchý běh (nic nezapíše, jen ukáže)
rsync -aAXHvn --delete ~/ /mnt/backup/home/
přes SSH na vzdálený server
rsync -aAXHv --delete -e ssh
~/Dokumenty/ user@server:/backup/dokumenty/
vynechat složky
rsync -aAXHv --delete
--exclude='.cache' --exclude='node_modules'
~/ /mnt/backup/home/
Výhody: rychlý, čitelný výstup, univerzální
Nevýhody: žádná historie (přepisuje), bez šifrování
═══════════════════════════════════════════
💡 KDY CO POUŽÍT
═══════════════════════════════════════════
Borg:
→ pravidelné zálohy s historií verzí
→ šifrované zálohy na cizí server (Hetzner, Borgbase)
→ když potřebuješ šetřit místo (deduplikace)
rsync:
→ mirror na externí disk
→ rychlá synchronizace mezi stroji
→ když chceš data přímo procházet
→ záloha webů, konfiguráků, deploy
Kombinace:
→ rsync pro denní mirror na NAS
→ borg pro týdenní šifrovanou zálohu na vzdálený server