跳到主要内容

2、批量上传与下载脚本

1、实战:批量上传文件脚本-2022.1.4(测试成功)

img

1、脚本说明

想批量把某个文件上传到多台linux机器上;

2、脚本使用

  • 拥有python环境及相关包

  • 修改ssh端口、账户、密码、ip.txt文件、准备测试文件

  • 测试效果

    • 测试1:测试传输一个小文件=>测试成功!
    • 测试2:测试传输一个30M大文件=>测试成功!

3、脚本位置

脚本具体内容:

https://onedayxyy.cn/scripts/linux_Upload_Download_shell/linux_Upload/ip.txt

ip.txt

/172.20.200.19/
/172.20.200.20/

https://onedayxyy.cn/scripts/linux_Upload_Download_shell/linux_Upload/putFile.py

putFile.py

import xlsxwriter
import paramiko
import time

for k in open(r'D:/ip.txt'):
ip=k.split("/")[1]
print(ip,"is ok !")
tran = paramiko.Transport((ip,22))
tran.connect(username='root', password='123456')
sftp = paramiko.SFTPClient.from_transport(tran)
localpath = "D:/sh.sh"
remotepath="/root/sh.sh"
sftp.put(localpath,remotepath)
tran.close()

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码

x2675263825 (舍得), qq:2675263825。

img

🍀 微信公众号

《云原生架构师实战》

img

🍀 语雀

https://www.yuque.com/xyy-onlyone

https://www.yuque.com/xyy-onlyone/exkgza?# 《语雀博客》

img

🍀 博客

www.onlyyou520.com

img

img

🍀 csdn

https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

img

🍀 知乎

https://www.zhihu.com/people/foryouone

img

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

2、批量下载脚本

代码待测试。

https://onedayxyy.cn/scripts/linux_Upload_Download_shell/linux_Download/get.py

cat get.py

#!/usr/local/bin/python
# encoding:utf-8

import paramiko
import os

HOST_IP='172.20.200.19'
REMOTE_PATH='/root'
REMOTE_FILENAME='test.txt'
LOCAL_PATH='D:/'
USERNAME='root'
PASSWORD='123456'

def remote_scp(host_ip,remote_path,local_path,file_name,username,password):
t = paramiko.Transport((host_ip,22))
t.connect(username=username, password=password) # 登录远程服务器
sftp = paramiko.SFTPClient.from_transport(t) # sftp传输协议
src = remote_path+'/'+file_name
des = local_path+'/'+file_name
sftp.get(src,des)
t.close()


if not os.path.isdir(LOCAL_PATH):
os.makedirs(LOCAL_PATH)
if not os.path.isfile(LOCAL_PATH+'/'+REMOTE_FILENAME):
fp=open(LOCAL_PATH+'/'+REMOTE_FILENAME,'w')
fp.close()

remote_scp(HOST_IP,REMOTE_PATH,LOCAL_PATH,REMOTE_FILENAME,USERNAME,PASSWORD)

1