Home  >  Article  >  Backend Development  >  Automatic folder synchronization tool

Automatic folder synchronization tool

巴扎黑
巴扎黑Original
2017-06-23 16:29:081885browse

This is an automatic folder synchronization tool I developed before. It mainly realizes folder synchronization between the development machine and the server.

Project address:


##Problem description

Modify the code under Windows and compile it on the server, but every time you have to drag it up through tools such as winscp (of course you can also use the scp command line).

There are very few files that are modified each time, and they may be located in different directories. It feels troublesome to overwrite files repeatedly every time, so this automatic folder synchronization tool was developed.

Of course, this tool can also be used for folder synchronization between two Linux servers.


Tool introduction

The principle of this tool is to monitor the status of local files and trigger relevant actions based on the captured events. Command operations implement folder synchronization.

Configuration file description:

host : 服务器地址
sshPort : 服务器ssh端口
user : 用户名
password : 密码
localDir : 需要同步的文件夹
remoteDir : 同步到服务器的文件夹
fileExcept :不同步的文件

Sample code configuration file:

<config><host>127.0.0.1</host><sshPort>22</sshPort><user>root</user><password>123456</password><localDir>.</localDir><remoteDir>/tmp/t1</remoteDir><fileExcept><file>f1.txt</file><file>data/f2.txt</file></fileExcept></config>

Dependent libraries:

paramiko: ssh operation library

watchdog: used to monitor the status of local folders

Can be installed via pip, the command is as follows:

pip install paramiko
pip install watchdog

Examples of tool usage are as follows:

$ python autoSync.py default.xml
Discussion

1. What should I do if I want to share a separate exe file with friends?

can be packaged as a separate binary file through pyinstaller, the command is as follows: pyinstaller.py -F autoSync.py

exe is located in autoSync/dist Directory

pyinstaller address:

Okay, that’s it, I hope it’s helpful to you.

The github address of this article:

20170617_Folder automatic synchronization tool.rst

Welcome to add

The above is the detailed content of Automatic folder synchronization tool. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn