TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #448 1.24K
Автоматическая синхронизация каталогов по списку хостов

Когда один и тот же каталог нужно поддерживать в актуальном состоянии на нескольких серверах, самый простой инструмент: rsync. Но руками гонять его по каждому хосту - это боль. Можно написать маленький скрипт, который делает это автоматически.

▪️ Простой пример: синхронизация по списку хостов. Допустим, есть файл hosts.txt:


srv1
srv2
srv3


🛠 Скрипт:


#!/usr/bin/env bash

SRC="/opt/app/"
DEST="/opt/app/"
HOSTS="hosts.txt"

for host in $(cat "$HOSTS"); do
echo "[*] Sync to $host..."
rsync -az --delete "$SRC" "$host:$DEST"
done


Скрипт:

Синхронизирует каталог на каждый хост;
Удаляет лишние файлы (--delete);
Передает только изменения (-a + -z);
Работает со сколько угодно хостами записанными в hosts.txt

▪️ Плюс: можно добавить контроль доступности


ping -c1 -W1 "$host" >/dev/null || {
echo "$host недоступен, пропускаю"
continue
}


BashTex 📱 #bash
  • 👍 10
More from @bash_tex
  1. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  2. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  3. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  4. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  5. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  6. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →