Поиск по сайту:

Zaloha.sh — простой скрипт синхронизации локального каталога для Linux


Zaloha.sh — это небольшой и простой сценарий оболочки, используемый для синхронизации двух локальных каталогов: исходного и резервного. Для поддержки базовой функциональности он использует стандартные инструменты Linux/Unix, такие как find, sort, awk, mkdir, rmdir, cp и rm.

Залоха получает информацию о каталогах и файлах с помощью команды find. Оба каталога должны быть доступны локально, т.е. смонтированы в локальной файловой системе. Он также имеет обратную синхронизацию и может при необходимости сравнивать файлы побайтово. Кроме того, он просит пользователей подтвердить действия перед их выполнением.

В этой статье вы узнаете, как установить и использовать zaloha.sh для синхронизации двух локальных каталогов в Linux.

Установка Zaloha.sh в Linux

Чтобы установить Zaloha.sh, вам необходимо клонировать его репозиторий Github с помощью инструмента командной строки git, но перед этим вам необходимо установить git, как показано.

dnf  install git		# CentOS/RHEL 8/Fedora 22+
yum install git		# CentOS/RHEL 7/Fedora
sudo apt install git		# Ubuntu/Debian

После установки git выполните следующую команду, чтобы клонировать удаленный репозиторий в вашу систему, перейдите в локальный репозиторий, а затем установите сценарий zaloha.sh в папку на вашем компьютере. PATH, например /usr/bin, и сделайте его исполняемым, как показано.

git clone https://github.com/Fitus/Zaloha.sh.git
cd Zaloha.sh/
echo $PATH
sudo cp Zaloha.sh /usr/bin/zaloha.sh
sudo chmod +x /usr/bin/zaloha.sh

Синхронизируйте два локальных каталога в Linux с помощью Zaloha.sh

Теперь, когда zaloha.sh установлен в вашем PATH, вы можете запускать его как любую другую команду. Вы можете синхронизировать два локальных каталога, как показано.

sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

После запуска zaloha проанализирует два каталога и подготовит команды, необходимые для синхронизации двух каталогов.

Вам будет предложено подтвердить действия, которые необходимо выполнить: «Выполнить указанные выше копии в /var/www/html/admin_portal/? [Y/y=Да,other=ничего не делать и прервать]: ». Ответьте да, чтобы продолжить.

Резервное копирование на внешний/съемный USB-носитель

Вы также можете выполнить резервное копирование на съемный носитель (например, /media/aaronk/EXT), смонтированный в локальной файловой системе. Для работы команды должен существовать каталог назначения, в противном случае вы получите сообщение об ошибке «Zaloha.sh: не является каталогом».

sudo mkdir /media/aaronk/EXT/admin_portal
sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Изменения резервной копии из источника в каталог резервной копии

Теперь внесите дополнительные изменения в исходный каталог, а затем еще раз запустите zaloha.sh, чтобы создать резервную копию изменений на внешнем диске, как показано.

mkdir /home/aaronk/admin_portal/plugins
mkdir /home/aaronk/admin_portal/images
sudo zaloha.sh --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Zaloha.sh создаст новые каталоги в каталоге резервных копий и скопирует все новые файлы из источника, как показано на следующем снимке экрана.

Обратная синхронизация изменений из резервной копии в исходный каталог

Предполагая, что вы внесли изменения в каталог резервной копии в файлы, которые уже существуют в исходном каталоге, вы можете отразить эти изменения в исходном каталоге с помощью функции обратной синхронизации, активируемой с помощью параметра --renUp.

zaloha.sh --revUp --sourceDir="/home/aaronk/admin_portal/" --backupDir="/media/aaronk/EXT/admin_portal"

Обратите внимание, что любые новые файлы или каталоги, созданные в каталоге резервной копии, которые не существуют в исходном каталоге, также будут удалены, как показано на следующем снимке экрана.

Вы можете указать zaloha переходить по символическим ссылкам в исходном каталоге, используя параметр --followSLinksS, а в резервном каталоге, используя параметр --followSLinksB. .

sudo zaloha.sh --followSLinksS  --followSLinksB --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"

Чтобы просмотреть документацию Zaloha, выполните следующую команду.

zaloha.sh --help

На данный момент это все! Zalohah.sh — небольшой и простой сценарий резервного копирования на основе Bash для синхронизации двух локальных каталогов в Linux. Попробуйте и поделитесь с нами своими мыслями через форму обратной связи ниже.