>백엔드 개발 >파이썬 튜토리얼 >자동 폴더 동기화 도구

자동 폴더 동기화 도구

巴扎黑
巴扎黑원래의
2017-06-23 16:29:081956검색

이것은 제가 이전에 개발한 자동 폴더 동기화 도구입니다. 주로 개발 머신과 서버 간의 폴더 동기화를 구현합니다.

프로젝트 주소:


문제 설명

Windows에서 코드를 수정하고 서버로 이동하여 컴파일해야 하지만 매번 Winscp와 같은 도구를 통해 끌어야 합니다(물론 scp 명령줄을 통해서도 가능합니다).

매번 수정되는 파일이 거의 없고, 매번 다른 디렉터리에 위치할 수 있습니다. 매번 파일을 반복적으로 덮어쓰는 것이 번거로워서 이 자동 폴더 동기화 도구가 개발되었습니다.

물론 이 도구는 두 Linux 서버 간의 폴더 동기화에도 사용할 수 있습니다.


도구 소개

이 도구의 원리는 로컬 파일의 상태를 모니터링하고, 캡처된 이벤트를 기반으로 관련 작업을 트리거하고, 명령 작업을 통해 폴더 동기화를 달성하는 것입니다.

구성 파일 설명:

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

샘플 코드 구성 파일:

<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>

종속 라이브러리:

paramiko: ssh 작업 라이브러리

watchdog : 로컬 폴더 상태를 모니터링하는 데 사용됩니다.

는 pip를 통해 설치할 수 있으며, 명령은 다음과 같습니다.

pip install paramiko
pip install watchdog

도구 사용 예는 다음과 같습니다.

$ python autoSync.py default.xml

Discussion

1. 친구들과 exe 파일을 따로 보내시나요?

은 pyinstaller를 통해 별도의 바이너리 파일로 패키징될 수 있으며, 명령은 다음과 같습니다: pyinstaller.py -F autoSync.py

exe는 autoSync/dist 디렉터리에 있습니다.

pyinstaller 주소:

알겠습니다. 그게 다입니다. 도움이 되었기를 바랍니다.

이 기사의 github 주소:

20170617_Folder 자동 동기화 도구.rst

추가를 환영합니다

위 내용은 자동 폴더 동기화 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.