本地内网主机向远程服务器同步数据 确保数据成功传输的SHELL命令
#!/bin/bash
7za a log.7z log #将文件log压缩成log.7z
7za t log.7z #检验文件log.7z是否可解压。
rsync -avP log.7z root@192.168.1.1:/data/ #将log.7z传送到192.168.1.1 服务器上。
整个过程都可能出现问题,7za t 可能检验文件不可解压。rsync也可能出错,而使得传送中断。
改成如下命令:
#!/bin/bash
7za a log.7z log #将文件log压缩成log.7z
7za t log.7z #检验文件log.7z是否可解压。
zat_result=$? #获取7za 命令的返回值,返回值用$?表示。
if [ $zat_result -eq 0 ]; then #如果返回0,表示文件可解压
while [ "1" = "1" ]
do
rsync -avP log.7z root@192.168.1.1:/data/ #将log.7z传送到192.168.1.1 服务器上。
$awsls_result =$?
if [ $awsls_result -eq 0 ]; then
break
fi
done
fi
原文:https://blog.csdn.net/pennyliang/article/details/52701054