Files
ECAP_Server/doc/rsync.bash
T
2026-08-06 11:08:29 +08:00

39 lines
1.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
source_dir="/c/tiles/"
destination="/home/heco/tiles/"
targets=(
"202 王家山|192.168.101.7|35024"
"203 灵山岛|192.168.101.7|35022"
# "204 乳山口|192.168.204.116|22"
# "215 沙子口2|192.168.215.116|22"
# "208 烟台宜尚|192.168.208.116|22"
)
test -d "$source_dir" || {
echo "源目录不存在:$source_dir" >&2
exit 1
}
for target in "${targets[@]}"; do
IFS='|' read -r name host port <<<"$target"
echo "========== 开始传输:$name$host:$port =========="
ssh -p "$port" \
-o ConnectTimeout=15 \
-o ServerAliveInterval=30 \
-o ServerAliveCountMax=10 \
"heco@$host" \
"command -v rsync >/dev/null && mkdir -p '$destination'" || {
echo "连接失败或远端没有安装 rsync$name" >&2
continue
}
rsync -rtvh \
--partial \
--partial-dir=.rsync-partial \
--info=progress2 \
-e "ssh -p $port -o ConnectTimeout=15 -o ServerAliveInterval=30 -o ServerAliveCountMax=10" \
"$source_dir" \
"heco@$host:$destination"
if [ "$?" -eq 0 ]; then
echo "========== 传输完成:$name =========="
else
echo "========== 传输失败:$name ==========" >&2
fi
done