Je souhaite synchroniser des fichiers sur un serveur distant dans Django. J'ai vu que la méthode rsync_project sous fabric.contrib.project de Fabric peut synchroniser des fichiers.
#!/usr/bin/env python3
from fabric.contrib.project import rsync_project
from fabric.api import env, execute
env.hosts = ['172.30.200.82', '172.30.200.87']
def test():
rsync_project(local_dir='/data/logstash-2.2.2', remote_dir='/data')
if __name__ == '__main__':
test()
Comme ci-dessus, ce n'est qu'en exécutant directement python test.py
会提示No hosts found. Please specify (single) host string for connection:
, 一定要用命令行执行 fab -f test.py test
qu'il peut fonctionner correctement. Maintenant, je veux mettre cette fonction en arrière-plan de Django, mais j'ai également rencontré ce problème. Je voudrais demander comment intégrer cette fonction dans Django, c'est-à-dire laisser. cette fonction s'exécute directement et peut être exécutée, sans avoir besoin d'accéder à la ligne de commande et d'utiliser la commande fab pour la rappeler.
Utiliser le module de sous-processus ?