一、使用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工具再次中断,把命令放入后台执行,如下
-
ctrl+Z暂停执行
-
jobs:查看当前运行的程序
-
bg %1:设置程序后台执行
-
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/