断点续传 scp rsync

本文介绍SCP命令用于远程文件传输及RSYNC命令实现断点续传的方法。涵盖SCP的基本用法、参数说明及实例演示,同时提供RSYNC的详细配置与使用技巧,包括限速、压缩、后台执行等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用scp命令传输

远程文件下载,下载服务器52.37.138.25上的abc.sql文件

 

scp  -r  root@52.37.138.25:/data/abc.sql /mydata/

远程文件上传,把本地服务器的abc.sql 文件上传至服务器192.168.6.25

 

scp -p 8833 /data/abc.sql  root@192.168.6.25:/mydata/

二、使用rsync断点续传

 

rsync -P --rsh='ssh -p 8833' /data/abc.sql root@192.168.6.25:/mydata/

为防止putty工具再次中断,把命令放入后台执行,如下

 

 
  1. ctrl+Z暂停执行

  2.  
  3. jobs:查看当前运行的程序

  4.  
  5. bg %1:设置程序后台执行

  6.  
  7. fg %1:设置程序前台执行

 

三、中断了的putty任务快速恢复方法:

使用screen命令可解决这个问题

 

screen是linux下的一种多重视窗管理程序。在使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session,而screen命令可以解决这个问题。

-d<作业名称>  将指定的screen作业离线。

-h<行数>  指定视窗的缓冲区行数。

-m  即使当前已在作业中的screen作业,仍强制建立新的screen作业。

-r<作业名称>  恢复离线的screen作业。

-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

-s<shell>  指定建立新视窗时,所要执行的shell。

-S<作业名称>  指定screen作业的名称。

-v  显示版本信息。

-x  恢复之前离线的screen作业。

-ls或--list  显示当前所有的screen作业。

 

四、使用screen

screen -S myjobs

会弹出一个新的会话框,输入您想要输入的耗费时间的命令,然后测试一下网络中断

screen -r myjobs(恢复)

然后就可以看到命令执行的进度了。而且,在你断网的这一段时间里,服务器端的命令一直在运行着。

 

 

*********************************************************************

# scp 拷贝本地文件filename  到远程机器 192.168.188.188 服务器的/data/tmp目录下 
   scp -P 61204 -l 40000 filename username@192.168.188.188:/data/tmp/

 -P port   
             Specifies the port to connect to on the remote host.  Note that this option is written with a capital ‘P’, because -p is already reserved
             for preserving the times and modes of the file in rcp(1).
#-P指定远程服务器ssh服务的端口  如:ssh端口为61204

 -l limit
             Limits the used bandwidth, specified in Kbit/s.
-l 指定拷贝的速度限制 单位是ct/s   如:-l 40000 表示40000Kbit/s=40000/8KB=5MB的速度

注:scp不支持断点续传

rsync + ssh 断点续传
#rsync同步本地文件 filename  到远程机器 192.168.188.188 服务器的/data/tmp目录下
rsync -avzP -e 'ssh -p 61204' --bwlimit=5000 filename username@10.20.90.101:/data/tmp/ >> scp_to_101.log 
-a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。
-v:详细提示 
-z:压缩
-P:是综合了--partial --progress两个参数
    --partial
    如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。
    如果想在下次拷贝时续传文件,不需要重新拷贝所有文件的话,可以使用-partial选项阻止rsync在传输中断时删除已拷贝的部分
    --progress 显示进度条
-e:参数的作用是可以使用户自由选择欲使用的shell程序来连接远端服务器
     ssh -p 61204 指定ssh的端口(非默认22)61204
--bwlimit: --bwlimit=5000  限制带宽为5000k Bytes/s =5MB
上例:使用rsync传输本地文件filename到192.168.188.188的/data/tmp目录下  使用压缩归档传输、限速5MB、支持断点续传 使用ssh协议

 

 

****************************************************

------------------
[root@ds2 data]# scp -r root@10.9.204.173:/db/bak/mysql_173_bak20180711 /db/bak/
nohup scp -r /db/bak/mysql_173_bak20180711 root@10.10.99.40:/db/bak/ > /db/bak/nohup.out 2>&1
user:root
passwd:Ghfk17123#
------------------
/db/bak/mysql_173_bak20180711/2018-07-11_18-25-18
#数据库恢复
#  innobackupex --apply-log --use-memory=6G /db/bak/mysql_173_bak20180711/2018-07-11_18-25-18
#  service mysql stop
#  mv /data/mysql  /data/mysql_bak
#  mkdir /data/mysql
#  innobackupex --defaults-file=/etc/my.cnf --move-back /db/bak/mysql_173_bak20180711/2018-07-11_18-25-18
#  chown -R mysql:mysql /data/mysql
#  service mysql start

nohup innobackupex --defaults-file=/etc/my.cnf --move-back /db/bak/mysql_173_bak20180711/2018-07-11_18-25-18 > /db/bak/innobackupex.log 2>&1

nohup scp -r /db/bak/mysql_173_bak20180711 root@10.10.99.40:/db/bak/ > /db/bak/xiazai0720.log 2>&1


scp  -l 20000 -r /db/bak/mysql_173_bak20180711 root@10.10.99.40:/db/bak/

scp  -l 20000 -r /db/bak/mysql_173_bak20180711 root@10.10.99.40:/db/bak/
PW:  P@ssw0rd

rsync -avzP -e 'ssh -p 22' --bwlimit=10000 /db/bak/jibobo root@10.10.99.40:/db/bak/ >> scp_to_40.log
ctrl+z 来中断,
bg命令让它在后台执行
fg命令让它在前台执行
--bwlimit=5000 =5M
rsync -avzP -e 'ssh -p 22' --bwlimit=10000 /db/bak/mysql_173_bak20180711 root@10.10.99.40:/db/bak/ >> scp_to_40.log
PW:  P@ssw0rd
ctrl+z
fg
kill -9 %1
#173
#--备份
#mysql -u root -h 10.9.204.173 -p
#开始备份
innobackupex   --defaults-file=/etc/my.cnf  --user='root' --password=''  --no-timestamp --parallel=4   /db/bak/mysql_bak

#数据库恢复
#  innobackupex --apply-log --use-memory=10G /db/bak/mysql_bak
#  service mysql stop
#  mv /data/mysql  /data/mysql_bak
#  mkdir /data/mysql
#  innobackupex --defaults-file=/etc/my.cnf --copy-back /db/bak/mysql_bak
#  chown -R mysql:mysql /data/mysql
#  service mysql start

scp -r /db/bak/slave_status.txt root@10.10.99.40:/db/bak/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值