我运行了一个脚本,用于从我的服务器下载备份。
MD5正在检查这些文件是否都是相同的。
下面是我的脚本:
if [[ ! "$1" =~ ^[0-9]{8}$ ]] || [[ ! "$2" =~ ^[0-9\.]+$ ]] || [[ ! "$3" =~ ^[A-Z0-9]+$ ]]
then
echo "Gebruik: backup_downloaden.sh jjjjmmdd ipadres naam"
exit 1
fi
cd /home/backups/Servers
scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg .
scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg.md5 .
scp -i /home/backups/.ssh/dedecaan_backups backups@$2:$3-$1-0500.tgz.gpg.volledig .
date > $3-$1.log
ls -l $3-$1-* --time-style=long-iso >> $3-$1.log
md5sum.textutils -c $3-$1-0500.tgz.gpg.md5 >> $3-$1.log
scp -i /home/backups/.ssh/dedecaan_backups $3-$1.log backups@$2:$3-$1.log
# logs altijd ook naar de productieserver kopiëren
scp -i /home/backups/.ssh/dedecaan_backups $3-$1.log backups@85.17.173.168:$3-$1.log如果检查失败,我希望下载作业重新开始。我该怎么做呢?
谢谢
发布于 2011-11-22 19:12:28
让我们看一下文档:info coreutils 'md5sum invocation' (根据手册页man md5sum的说明):
- 查看' 从每个 FILE(如果没有指定 FILE,则从标准输入)读取文件名和校验和信息(不是数据),并报告校验和是否与命名文件的内容匹配。 [...] 如果任何列出的文件无法打开或读取,如果任何有效行的 MD5 校验和与关联文件不一致,或者如果没有找到有效行,则 `md5sum' 以非零状态退出。否则,成功退出。
因此,基本上,您需要检查md5sum.textutils的返回值,如果返回值不是0,则返回到开头。最后执行的命令的返回值存储在$?中。
https://stackoverflow.com/questions/8225667
复制相似问题