Linux常用文件拷贝方式:scp,rsync,expect

方式1: scp

该协议采用的是ssh端口,所以如果ssh端口不是默认的22,则要按实际参数使用。

格式:scp -P 25569 wxapp-deploy.sh root@192.168.1.107:/home/

免密

将rsa公钥拷贝到客户机

 

方式2:expect

机器需要先安装expect。该种方式可以用于文件服务器分发文件给客户机。

#!/usr/bin/expect
#
# luoqinglong:2019-03-17
# for scp
# eg:./expectscp 192.131.11.104 jkryw 1111222233  /var/lib/jenkins/workspace/sss_prod.zip /home/war
#
set timeout 10
set sshport [lindex $argv 0]
set host [lindex $argv 1]
set username [lindex $argv 2]
set password [lindex $argv 3]
set src_file [lindex $argv 4]
set dest_file [lindex $argv 5]
spawn scp -P $sshport $src_file $username@$host:$dest_file
 expect {
 "(yes/no)?"
  {
    send "yes\n"
    expect "*assword:" { send "$password\n"}
  }
 "*assword:"
  {
    send "$password\n"
  }
}
expect "100%"
expect eof

 

方式3:rsync

该方式,可以实现客户机从主服务器拉取同步文件,或者主服务器推送给客户机。可以结合inotify进行实时同步文件。

#客户机拉取文件
rsync -avz --delete --progress --password-file=/etc/rsyncd.passwd rsyncuserprod@192.168.1.111::oracle_dump_bak /home/databak- >> $log_info_file 2>&1

#主机推送文件给客户机
rsync -avz /home/test/ --delete --progress  rsyncuserprod@192.168.1.121::test_project --password-file=/etc/rsyncd.passwd

rsync + inotify 可以搭建互为主客机,实现双向同步文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值