이것은 제가 이전에 개발한 자동 폴더 동기화 도구입니다. 주로 개발 머신과 서버 간의 폴더 동기화를 구현합니다.
프로젝트 주소:
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
1. 친구들과 exe 파일을 따로 보내시나요?
은 pyinstaller를 통해 별도의 바이너리 파일로 패키징될 수 있으며, 명령은 다음과 같습니다: pyinstaller.py -F autoSync.py
exe는 autoSync/dist 디렉터리에 있습니다.
pyinstaller 주소:
알겠습니다. 그게 다입니다. 도움이 되었기를 바랍니다.
이 기사의 github 주소:
20170617_Folder 자동 동기화 도구.rst
추가를 환영합니다
위 내용은 자동 폴더 동기화 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!