실제 상황(실행 플랫폼, 애플리케이션 요구 사항)에 따라 선택할 수 있는 여러 가지 옵션 솔루션이 있습니다.
옵션 1: Python을 사용하여 로컬 rsync 프로그램에 대한 호출을 캡슐화합니다. 요구 사항이 비교적 간단하고 실행 중인 플랫폼에서 사용할 수 있는 로컬 rsync 프로그램이 있는 경우 subprocess 모듈을 사용하여 호출 명령을 캡슐화할 수 있습니다. rsync에 연결합니다(os 모듈 Encapsulation을 사용할 수도 있습니다. 원리는 동일합니다). 예:
으아아아
이 솔루션의 장점은 구현이 간단하고 버그가 발생하지 않는다는 것입니다. 단점은 Windows 플랫폼에서 실행하는 경우 더 번거롭고 cygwin과 같은 로컬 rsync 프로그램을 설치해야 한다는 것입니다.
옵션 2, rsync 프로토콜의 Python 구현: Vivian De Smedt는 Bitbucket에서 rsync의 Python 구현을 제공하는데, 이는 매우 작고 크기가 15KB에 불과합니다. https://bitbucket.org/vds2212/rsync.py
이 접근 방식의 장점은 플랫폼 독립적이며 Python을 실행하는 모든 플랫폼에서 사용할 수 있다는 것입니다. 그러나 이것은 개인적인 구현이기 때문에 버그가 있을 수 있고 표준 rsync와 호환되지 않을 수 있으며 스크립트 사용법을 배우는 데 시간이 필요할 수 있습니다.
Python 스크립트에서 rsync를 호출하여 Linux 플랫폼에서 자동화된 일일 유지 관리 작업을 완료하는 것이 목적이라면 첫 번째 옵션을 권장합니다.
실제 상황(실행 플랫폼, 애플리케이션 요구 사항)에 따라 선택할 수 있는 여러 가지 옵션 솔루션이 있습니다.
옵션 1: Python을 사용하여 로컬 rsync 프로그램에 대한 호출을 캡슐화합니다.
으아아아요구 사항이 비교적 간단하고 실행 중인 플랫폼에서 사용할 수 있는 로컬 rsync 프로그램이 있는 경우 subprocess 모듈을 사용하여 호출 명령을 캡슐화할 수 있습니다. rsync에 연결합니다(os 모듈 Encapsulation을 사용할 수도 있습니다. 원리는 동일합니다). 예:
이 솔루션의 장점은 구현이 간단하고 버그가 발생하지 않는다는 것입니다. 단점은 Windows 플랫폼에서 실행하는 경우 더 번거롭고 cygwin과 같은 로컬 rsync 프로그램을 설치해야 한다는 것입니다.
옵션 2, rsync 프로토콜의 Python 구현:
Vivian De Smedt는 Bitbucket에서 rsync의 Python 구현을 제공하는데, 이는 매우 작고 크기가 15KB에 불과합니다.
https://bitbucket.org/vds2212/rsync.py
이 접근 방식의 장점은 플랫폼 독립적이며 Python을 실행하는 모든 플랫폼에서 사용할 수 있다는 것입니다. 그러나 이것은 개인적인 구현이기 때문에 버그가 있을 수 있고 표준 rsync와 호환되지 않을 수 있으며 스크립트 사용법을 배우는 데 시간이 필요할 수 있습니다.
Python 스크립트에서 rsync를 호출하여 Linux 플랫폼에서 자동화된 일일 유지 관리 작업을 완료하는 것이 목적이라면 첫 번째 옵션을 권장합니다.
ㅋㅋㅋ 관련 모듈 검색이 없네요....
pypi만 검색해도 여러개 나옵니다.
https://pypi.python.org/pypi?%3Aaction=search&term=rsync&submit =검색