在两台linux服务器间传递文件

设有两机,均为局域网,两机可相互通信无问题,中间无防火墙。
两机IP分别为:A:192.168.1.240 B:192.168.1.102
假设A,B机的SSH都允许root登录

设要把 A上的 /root/abc.zip 传到 B机并放到/abc目录,可以在A机上用命令
    scp  /root/abc.zip  root@192.168.1.102:/abc/
若 SSH端口不是默认的22,比如,是端口1234 则加-P参数:
    scp  -P 1234 /root/abc.zip  root@192.168.1.102:/abc/

也可以在B机上用命令:
    scp  root@192.168.1.240:/root/abc.zip  /abc/


一个简单的bash脚本,实现sftp自动上传/下载文件。

?

#!/bin/bash
local_dir=/PATH
target_dir=/PATH
user=USERNAME
password=PASSWORD
serverip=SERVERIP
lftp -u $user,$password sftp://$serverip <<END_SFTP
lcd $local_dir
cd $target_dir
mput *
bye
END_SFTP


需要注意的是前六行的大写字母部分你要替换成你自己的实际信息。各变量的含义如下。
local_dir 本地需要上传的数据目录
target_dir 要上传到的目标服务器的数据目录
user sftp登陆用户名
password sftp登陆用户密码
serverip 服务器ip

另外,第9行的代码mput *会默认上传本地数据目录下的所有文件,如果你只需要上传某个文件则改成put filename。
当然更具体的需求需要你自己去修改。

第12行的END_SFTP必须顶格写,经常有人脚本出错就是这个问题


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值