利用Python3在Windows同步文件到Linux服务器
2016-05-15 17:36
661 查看
摘要: 用Python3做了个小小小程序,只能同步指定路径下的文件,用了paramiko模块,用于SSH和SFTP
之前一直搞JavaEE,在本地开发修改的文件,经常需要同步到自己的Linux服务器上,由于有时候修改比较频繁,网络也不是特别好,所以都不是直接一个war包扔到服务器。
虽然WinSCP等工具已经有同步文件夹功能,不过自己还是闲得搞了一个,也顺便练练手。。。功能也还没WinSCP等工具那么强大,只能同步指定路径下的所有文件。。以后再慢慢改
用的是Python3.5,paramiko2.0
还有个配置文件,配置本地目录地址,和远程目录地址
之前一直搞JavaEE,在本地开发修改的文件,经常需要同步到自己的Linux服务器上,由于有时候修改比较频繁,网络也不是特别好,所以都不是直接一个war包扔到服务器。
虽然WinSCP等工具已经有同步文件夹功能,不过自己还是闲得搞了一个,也顺便练练手。。。功能也还没WinSCP等工具那么强大,只能同步指定路径下的所有文件。。以后再慢慢改
用的是Python3.5,paramiko2.0
#!-*- coding: utf-8 -*- """ 练手小程序 """ import json import paramiko import os def list_file(file_path): return [file for file in os.listdir(file_path) if os.path.isfile(os.path.join(file_path, file))] sync_file_count = 0 HOST_IP = "服务器IP" HOST_PORT = 22 USERNAME = "登录名" PASSWORD = "密码" with open("config.json") as config_file: path_config = json.load(config_file) print("读取配置文件成功!") try: transport = paramiko.Transport((HOST_IP, HOST_PORT)) transport.connect(username=USERNAME, password=PASSWORD) sftp = paramiko.SFTPClient.from_transport(transport) print("连接远程服务器成功!") print("*******************************同步文件--开始") for path in path_config: local_path = path["local_path"] server_path = path["server_path"] print(">>>>>>>>>>>>>>>遍历本地文件--开始") filenames = list_file(local_path) print(filenames) print(">>>>>>>>>>>>>>>遍历本地文件--结束") for filename in filenames: sftp.put(local_path + filename, server_path + filename) print("已同步本地文件: \"" + local_path + filename + "\" 到服务器路径:\"" + server_path + filename + "\"") sync_file_count += 1 print("*******************************同步文件--结束") finally: sftp.close() transport.close() print("已经全部同步完成!一共同步了 " + str(sync_file_count) + " 个文件!")
还有个配置文件,配置本地目录地址,和远程目录地址
[ { "local_path":"G:/Java/", "server_path":"/home/java/" }, { "local_path":"G:/out/", "server_path":"/home/out/" } ]
相关文章推荐
- 在Linux下搭建dubbo管理控制台
- [Linux][PHP]安装swoole扩展
- 搭建git linux 服务器
- linux企业常用服务---lvs+Keepalived高可用集群
- linux mount命令
- part1:5Linux命令详解
- llinux企业常用服务---HA+keepalived双机热备
- 分别在windows和linux下用信号量解决生产者消费者问题
- Linux下ln命令使用
- linux企业常用服务---nfs
- linux root执行/media可执行文件权限不够,chmod修改权限无效
- 渗透测试 - KALI Linux 学习 - kali linux如何启动METASPLOIT服务
- Linux下tail命令使用
- Linux下test命令使用
- Linux常见命令汇总-touch
- Linux C 中断言assert()使用简介
- linux系统目录构成及相关命令
- Linux的进程优先级 Nice 和 priority
- Linux(CentOS6.5)修改系统市区被中国标准时间(北京时间)
- llinux企业常用服务---squit透明代理