odoo 分布式快速更新

网友投稿 818 2022-10-24

odoo 分布式快速更新

odoo 分布式快速更新

如果odoo 服务太多的话,一个一个的重启会比较麻烦 写一个python脚本来批量重启:

import paramikoimport configparserdef get_conf(): cf = configparser.ConfigParser() cf.read('./data/server.conf') sections = cf.sections() list_dict_conf = [] for opt in sections: dev_item = cf.items(opt) list_dict_conf.append(dict(dev_item)) return list_dict_confclass OdooServer(object): def __init__(self, hostname, port, username, password, command=''): # 建立一个sshclient对象 self.ssh = paramiko.SSHClient() # 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面 self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 调用connect方法连接服务器 self.ssh.connect(hostname=hostname, port=port, username=username, password=password) self.command = command def exec_command(self): if not isinstance(self.command, str): return None stdin, stdout, stderr = self.ssh.exec_command(self.command) if stdout: print('Return Message:', stdout.read().decode()) if stderr: print('Error Message:', stderr.read().decode()) self.ssh.close()if __name__ == '__main__': list_config = get_conf() for dict_config in list_config: print('restart server:', dict_config) server = OdooServer(**dict_config) server.exec_command()

server.conf

[odoo12_dev1]hostname=localhostport = 22username=testpassword=passwordcommand = ./reload_supervisor_odoo.sh[odoo12_dev2]hostname=localhostport = 22username=testpassword=passwordcommand = ./reload_supervisor_odoo.sh

懂得,原来世界如此简单!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决Feign调用的GET参数传递的问题
下一篇:linux ubuntu搭建文件共享服务nfs
相关文章

 发表评论

暂时没有评论,来抢沙发吧~