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. Попробуйте и поделитесь с нами своими мыслями через форму обратной связи ниже.