recherche

Maison  >  Questions et réponses  >  le corps du texte

python如何操作rsync

rt
没找到相关模块

PHP中文网PHP中文网2809 Il y a quelques jours514

répondre à tous(2)je répondrai

  • 迷茫

    迷茫2017-04-17 17:31:19

    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.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:31:19

    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

    répondre
    0
  • Annulerrépondre