python如何操作rsync
PHP中文网
PHP中文网 2017-04-17 17:29:19
0
2
507

rt
没找到相关模块

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(2)
迷茫

Il existe plusieurs solutions optionnelles, qui peuvent être choisies en fonction de la situation réelle (plateforme de course, exigences de l'application).

Option 1. Utilisez Python pour encapsuler l'appel au programme rsync local
Si les exigences sont relativement simples et qu'un programme rsync local est disponible sur la plate-forme en cours d'exécution, vous pouvez utiliser le module de sous-processus pour encapsuler la commande d'appel vers rsync (vous pouvez aussi utiliser le module os Encapsulation, le principe est le même), par exemple :

cmd = "rsync -avrz /opt/data/filename root@ip:/opt/data/file"
subprocess.call(cmd, shell=True)

L'avantage de cette solution est qu'elle est simple à mettre en œuvre et peu sujette aux bugs. L'inconvénient est que si vous exécutez sur une plate-forme Windows, c'est plus gênant et vous devez installer un programme rsync local, par exemple via cygwin.

Option 2, implémentation python du protocole rsync :
Vivian De Smedt fournit une implémentation python de rsync sur Bitbucket, qui est très petite et seulement 15 Ko.
https://bitbucket.org/vds2212/rsync.py

L'avantage de cette approche est qu'elle est indépendante de la plateforme et peut être utilisée sur n'importe quelle plateforme exécutant Python. Cependant, comme il s'agit d'une implémentation personnelle, elle peut contenir des bugs, être incompatible avec le rsync standard et nécessiter du temps pour apprendre à utiliser le script, etc.

Si le but est d'appeler rsync dans un script python pour effectuer une tâche de maintenance quotidienne automatisée sur la plate-forme Linux, alors la première option est recommandée.

Peter_Zhu

Haha, je n'ai pas recherché de modules associés....
Vous pouvez en trouver plusieurs en recherchant simplement pypi.
https://pypi.python.org/pypi?:action=search&term=rsync&submit=search

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal