gpt4 book ai didi

python - 如何在ubuntu中使用python自动连接到SSH?

转载 作者:行者123 更新时间:2023-12-02 14:06:45 27 4
gpt4 key购买 nike

我通常要做的是在ubuntu中打开一个终端并输入以下内容:

ssh -p 2200 mydomain@ssd4.rackset.com

然后我输入密码

然后,我激活我的虚拟环境:
source /home/myproject/virtualenv/myproject/3.5/bin/activate

然后我更改工作目录:
cd myproject

然后,我进入django shell,并在编写的脚本中做一些事情:
python manage.py shell
exec(open('populate_database/populate_database_programs.py').read())

然后我从Django Shell退出
exit()

并从ssh退出
exit

我想做的就是自动化所有这些。

如何使用Python进行所有这些操作?
我看到有一些库可以连接到ssh,但是我没有看到在其中一个库中输入密码

我需要在python中多次执行所有这些操作。原因是我有一个脚本来填充数据库。要插入每条记录,我打开一个文件并从文件中读取。大约有70,000个文件。因此,这大约需要3个小时,而问题就在这里发生。我的主机提供商每15分钟断开一次与我的连接。因此,我决定将过程分为几批。并全部自动化

最佳答案

如果您只是在数据库中创建数据(即只会发生一次),建议您使用Django的 RunPython 创建数据迁移。您可以循环浏览所有文件,然后一次性将数据插入数据库。只需插入您现有的python脚本即可。即使操作花费很长时间并且您断开了连接,它也不会终止该过程。只需通过manage.py migrate &运行它即可使其成为后台进程。

如果您要处理要定期执行的事情(例如部署网站)或需要执行的一些定期清理任务,那么Fabric是一种使用python通过SSH编写自动化任务的好方法。它通常用于在较小规模的系统上自动化部署。

对于更复杂的事情,有诸如Ansible,Chef,Puppet之类的框架。这些也将帮助您管理配置。

关于python - 如何在ubuntu中使用python自动连接到SSH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57822961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com