Zaloha.sh - 适用于 Linux 的简单本地目录同步器脚本
Zaloha.sh 是一个微小而简单的 shell 脚本,用于同步两个本地目录:源目录和备份目录。它采用标准的 Linux/Unix 工具,例如 find、sort、awk、mkdir、rmdir、cp 和 rm 来支持其底层功能。
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 中的两个本地目录
现在 zaloha.sh 已安装在您的 PATH 中,您可以像任何其他命令一样正常运行它。您可以同步两个本地目录,如图所示。
sudo zaloha.sh --sourceDir="./admin_portal/" --backupDir="/var/www/html/admin_portal/"
运行后,zaloha 将分析这两个目录并准备同步这两个目录所需的命令。
系统将提示您确认要执行的操作:“执行上面列出的副本到 /var/www/html/admin_portal/? [Y/y=是,其他=不执行任何操作,然后中止]:”。回答是继续。
备份到外部/可移动 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 中的两个本地目录。尝试一下,并通过下面的反馈表与我们分享您的想法。