【发布时间】:2020-07-31 16:01:13
【问题描述】:
我想在 Ubuntu 中实现增量备份,所以我正在考虑从源和目标中查找所有文件的 md5sum,并检查是否有两个文件具有相同的 md5sum,然后将该文件保留在目标中,否则如果不同,则将文件从源复制到目录。 我正在考虑在 bash 中执行此操作 任何人都可以帮助我了解如何检查不同目录中两个文件的 md5sum 的命令吗? 提前致谢!!
#!/bin/bash
#
SOURCE="/home/pallavi/backup1"
DEST="/home/pallavi/BK"
count=1
TODAY=$(date +%F_%H%M%S)
cd "${DEST}" || exit 1
mkdir "${TODAY}"
while [ $count -le 1 ]; do
count=$(( $count + 1 ))
cp -R $SOURCE/* $DEST/$TODAY
mkdir "MD5"
cd ${DEST}/${TODAY}
for f in *;do
md5sum "${f}" >"${TODAY}${f}.md5"
echo ${f}
done
if [ $? -ne 0 ] && [[ $IGNORE_ERR -eq 0 ]]; then
#error or eof
echo "end of source or error"
break
fi
done
【问题讨论】:
-
你试过什么?从那里开始更容易。或者尝试rsnapshot - 当我发现我的自定义备份解决方案是,呃,缺乏时,我切换到那个。
-
感谢您的回复,但我需要在没有任何实用程序的情况下实现..
-
既然你要使用
md5sum,也许你可以使用cmp。没有任何实用程序意味着您要从头开始编写自己的代码。 -
它可以与不同文件夹中的两个 md5sum 一起使用吗?我也想为文件夹中的每个文件循环执行此操作
-
应该可以,是的。到目前为止你尝试过什么?