scp实现断点续传

   背景介绍

        scp命令拷贝文件非常好用,但在拷贝大文件时存在一个问题就是连接经常会断开,此时再使用scp进行拷贝会重新拷贝文件。

     解决办法

为了解决这个问题。我们可以使用rsync1命令来进行断点续传。命令如下:

rsync -P --rsh=ssh test.zip 192.168.0.1:~/

为了使用方便可以在/etc/profile等系统文件设置alias:

alias rscp="rsync -P --rsh=ssh"

断点续传时需要加上--append参数。

遇到的问题

bash脚本里面使用alias不起作用

Note: aliases are not expanded by default in non-interactive shell, and it can be enabled by setting the expand_aliases shell option using shopt.

注意:在非交互式shell中,缺省情况下不扩展别名,可以通过使用shopt设置expand_aliases shell选项来启用别名。

最后脚本改成:

#!/bin/bash

shopt -s expand_aliases
alias rscp="rsync -P --rsh=ssh"

rscp $(date +%Y%m%d).zip root@k8s01:$K8S_HOME && break

此时解决了我的问题

linux下使用脚本反复重试一个命令

n=0
until [ $n -ge 5 ]
do
  command && break
  n=$[$n+1]
  sleep 15
done

根据下面的表格替换上文中的内容

替换内容

功能

5

重试次数

command

想要重试的命令

15

重试前等待的时间

另外,break这里的作用是,当command执行成功后就会跳出循环,即只在失败时重试。

实例:

n=0
until [ $n -ge 5 ]
do
  rscp $(date +%Y%m%d).zip root@k8s01:$K8S_HOME && break
  n=$[$n+1]
  echo "Replay again......"
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值