python 怎么实现两台服务器上批量复制文件

python 怎么实现两台服务器上批量复制文件,第1张

1、把excel里文件名那一列复制,粘进一个空白的文本文件,命名为filelisttxt,上传到服务器
2、在服务器上使用脚本导出,python脚本 fileCppy 。
代码示例:
#! python
#coding:utf-8

##!/usr/bin/python
# Filename : fileCppy
import sys
import os
import shutil

fileList='filelisttxt'
targetDir='files'

filedir = open(fileList)
line = filedirreadline()
log = open('runninglog','w')
while line:
line = linestrip('\n');
basename = ospathbasename(line)
exists = ospathexists(line)
if exists :
print 'copy '+line+' to '+osgetcwd()+'/'+targetDir+'/'+basename
logwrite('copy '+line+' to '+osgetcwd()+'/'+targetDir+'/'+basename+'\r\n')
shutilcopy(line,targetDir+'/'+basename)
else:
print line+' not exists'
logwrite(line+' not exists'+'\r\n')
line = filedirreadline()
logclose()

请查阅sunnetftpFtpClient中的实现ftp连接管理类相关实现与方法文档。
相关的内嵌包为jre6\lib\rtjar。
在两台Linux服务器上都开放ftp服务。

xcopy \\19216802\服务器路径\本地路径/e/s/d/y
例如你要拷贝服务器19216802上的d:\test 文件夹到本地e:\test 文件夹
xcopy \\19216802\d:\test\ e:\test/e/s/d/y 此命令实现只复制有修改或者最新的文件,简单的说就是实现服务器上的文件夹和本地文件同步
当然,如果是完整的批处理,还应该包括用户名和密码信息,现在假设你服务器的用户名为admin
密码为123456
则完整的批处理是这样的:
net use \\19216802 "123456" /user:admin
xcopy \\19216802\d:\test\ e:\test/e/s/d/y(此命令要注意,如果是首次运行,本地又没有创建test文件夹,它会提示test是文件还是目录,选目录即可)

还是不太理解你的意思,如果拷贝到同一服务器的另一个文件夹,我觉得没必要限速,毕竟这个 *** 作不是太占资源。如果是网络路径上的另一个文件夹,如果是内网上的机器,而服务器对外网的流量大,那也不影响,毕竟2者的速度差距很大。如果本来就是内部网站,而内部流量很大或者传到外网上的机器或者你一定想要限速。。好吧。。如同之前有人说的另起个线程:
Thread t1 = new Thread(new ThreadStart(CopyFile));
t1start();
下面定义一个private void CopyFile()方法,然后把执行拷贝的代码写进去,然后可以检测I/O流如每传完500K后Threadsleep(1000);
这是比较简单的办法,但是因为没有关闭过I/O流,所以只对降低网络资源占用有效

直接复制网页上的代码是无法运用的。即使是运行起来也是一个静态(不会随着用户 *** 作而改变页面上内容)的网页。
原因如下:
网页上的内容除了用户名,积分,用户的头像,昵称等这些,其它的都属于模版,你所看到的网页内容是经过网页自动获取了上面的内容后填充到了模版中生成了你所看到的东西,而生成这些数据的程序(或叫API),都运行在服务器上,通过网络请求获取的。
一个完整的程序包含了前端(根据用户 *** 作请求服务器获得对应的数据或提示)和后端服务器(根据前端发来的 *** 作请求,提供相应的数据,再返回到前端)。
希望回答对你有帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13494114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-18
下一篇 2023-08-18

发表评论

登录后才能评论

评论列表(0条)

保存