웹사이트 검색

Zaloha.sh - Linux용 간단한 로컬 디렉터리 동기화 스크립트


Zaloha.sh는 두 개의 로컬 디렉터리(소스 디렉터리와 백업 디렉터리)를 동기화하는 데 사용되는 작고 간단한 쉘 스크립트입니다. find, sort, awk, mkdir, rmdir, cprm과 같은 표준 Linux/Unix 도구를 사용하여 기본 기능을 지원합니다.

Zaloha는 find 명령을 통해 디렉터리 및 파일에 대한 정보를 얻습니다. 두 디렉터리 모두 로컬에서 사용할 수 있어야 합니다. 즉, 로컬 파일 시스템에 마운트되어야 합니다. 또한 역동기화 기능도 갖추고 있으며 선택적으로 파일을 바이트 단위로 비교할 수도 있습니다. 게다가 사용자에게 작업을 실행하기 전에 확인을 요청합니다.

이 기사에서는 zaloha.sh를 설치하고 사용하여 Linux에서 두 로컬 디렉토리를 동기화하는 방법을 배웁니다.

Linux에 Zaloha.sh 설치

Zaloha.sh를 설치하려면 git 명령줄 도구를 사용하여 Github 저장소를 복제해야 하지만 그 전에 표시된 대로 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

Zaloha.sh를 사용하여 Linux에서 두 개의 로컬 디렉터리 동기화

이제 PATH에 zaloha.sh가 설치되었으므로 다른 명령처럼 정상적으로 실행할 수 있습니다. 표시된 대로 두 개의 로컬 디렉터리를 동기화할 수 있습니다.

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는 Linux에서 두 개의 로컬 디렉터리를 동기화하는 작고 간단한 Bash 기반 백업 스크립트입니다. 한 번 사용해 보시고 아래 피드백 양식을 통해 여러분의 생각을 공유해 주세요.