java - 如何自动将文件从一个服务器位置复制到另一个位置并从源位置移动?
问题描述
我有一个服务器位置(源),客户端整天经常提供大量文件。我的任务是将它们复制到另一个服务器位置(目标)并将这些复制的文件从源位置移动到源服务器中的另一个子目录。喜欢:
Before Copy:
Server A
/files
--- /done
--- File1.xml
--- File2.xml
--- File3.xml
Server B
/files
After Copy to Destination Server B and copied files moved to done folder of Source Server A:
Server B
/files
--- File1.xml
--- File2.xml
--- File3.xml
Server A
/files
--- File4.xml
--- /done
--- File1.xml
--- File2.xml
--- File3.xml
我想自动化这个过程,我已经查看了 windows robocopy 来实现这一点。但是,在复制文件时,每当客户端提供像 File4.xml 这样的新文件并且没有完全复制时,我都会遇到问题,复制它们也有风险。如上所述,如何正确复制和移动文件?两台服务器都在 Windows 上运行。
解决方案
从“A”目录中,您可以运行以下 python 脚本并完成工作。您可以定义一些时间(参见注释部分),以便忽略刚刚添加的文件
import os
import time
from shutil import copy
for i in os.listdir():
if i !='done' and #(time.time()-os.stat(i).st_ctime > define_some_time_limit_to_avoid_copying_recent_files):
copy('source_path_A'+i, 'destination_path_B'+i)
copy('source_path_A'+i, 'destination_path_A_done'+i)
os.remove('source_path'+i)
推荐阅读
- amazon-web-services - AWS Athena 仅返回我的 JSON 内容的第一个值
- java - Hibernate 本机 SQL 查询 - 如何通过热切初始化的一对多关联获取不同的根实体
- can-bus - 位爆炸 CAN FD 协议的最低处理器频率是多少
- node.js - 使用节点 js 从其他链接渲染 js 文件
- python - (Python 3.8.3)如何使这个字符串与 json 一起使用?
- android - 使用 Paging3 库时更改请求并获取新数据流
- wix - 升级 Wix Burn:自定义引导程序升级不起作用
- javascript - 正则表达式从 onclick = Javascript 抓取链接:Newwindow ()
- virtualbox - ActiveMQ Artemis HA 备份服务器的连接问题
- docker - 如何从使用主机网络运行的另一个 docker 容器访问自定义网络中的 docker 容器