初始化脚本

  

# !/usr/bin/env python

  

: - 编码utf - 8 -

  

进口一滴,操作系统、shutil zipfile,插座,datetime,时间,sys

  

def check_dir (filedir):
如果os.path.exists (filedir):
通过
:
打印的错误:::% s目录不存在,请检测的% filedir
退出(1)

  

def list_file (filedir):
filesRead=r ' % s ' % filedir
=glob.glob列表(filesRead)
文件列表=[]
我的列表:
filelist.append(我)
返回文件列表

  

类商品:
def <强> init (自我、yy_ip db_ip):
自我。yy_ip=yy_ip
自我。db_ip=db_ip
自我。redispw=5136 ba64f8d63bfb
#自我。日期=time.strftime (y ' % - % - % d ', time.localtime (time.time ()))
自我。RootPath='/根/部署'
自我。DockerPath=自我。RootPath + '/码头工人/docker-ce/docker-ce '
自我。SoftwarePath=自我。RootPath +/软件
自我。SoftwareOraclePath=自我。RootPath + '/oracle '
自我。临时文件=?tmp/hs_intall_tmp.txt”

  
 <代码> check_dir (self.RootPath)
  
  shell="根软nofile 65535 \ nroot硬nofile 65535 \ n *软nofile 65535 \ n *硬nofile 65535 \ n”
  self.check_file_bak_writefile (“/etc/安全/limits.conf”,壳牌)
  
  def file_write(自我,文件名,壳):
  file_obj=open (filename, ' + ')
  file_obj.write(壳)
  file_obj.close ()
  
  def check_file_bak_shell(自我,file1、壳牌):
  如果os.path.exists (' % s.bak ' % file1):
  打印的信息:::% s.bak备份存在,不再备份“% (file1)
  其他:
  操作系统。系统(cp %年代% s.bak % (file1 file1))
  打印的信息:::% s备份完毕,文件名为:% s.bak ' % (file1 file1)
  os.system(壳)
  
  def check_file_bak_writefile(自我,file1、壳牌):
  如果os.path.exists (' % s.bak ' % (file1)):
  打印的信息:::% s.bak备份存在,不再备份“% (file1)
  其他:
  操作系统。系统(cp %年代% s.bak % (file1 file1))
  打印的信息:::% s备份完毕,文件名为:% s.bak ' % (file1 file1)
  self.file_write (file1、壳牌)
  
  def grep_image(自我,depname):
  行=操作系统。popen(“码头工人图片| grep ' % s '比;% s“% (depname self.TmpFile) .read () .strip ()
  check_dir (self.TmpFile)
  张开(self.TmpFile) f:
  f的线:
  库,标签,IMAGEID、CREAT1 CREAT2 CREAT3、大?地图(str, line.split ())
  形象=库+‘:’+标签
  返回图像
  
  def install_docker(自我):
  check_dir (self.DockerPath)
  os.chdir (self.DockerPath)
  打印的信息:::百胜码头工人开始”
  操作系统。系统(' yum安装- y。/*在/dev/null 2祝辞,1 ')
  #操作系统。系统(yum安装- y。/*)
  打印的信息:::百胜码头工人完毕”
  os.chdir (self.RootPath +/码头工人)
  check_dir (“daemon.json”)
  操作系统。系统(“mkdir - p/etc/docker/,,\ cp守护进程。json/etc/docker/?
  check_dir (“/usr/lib/systemd/系统/docker.service ')
  shell=r " sed - i/ExecStart/我\ ExecStartPost=\ \/bin/bash \ \/onDockerStart/根。sh/usr/lib/systemd/system/docker.service”
  self.check_file_bak_shell (“/usr/lib/systemd/系统/docker.service”,外壳)
  操作系统。系统(“\ cp onDockerStart。sh/root/,,chmod + x/root/onDockerStart。上海,,systemctl daemon-reload”)
  self.check_file_bak_shell('/根/ashrc”、“(猫/root/deployment/docker/bash_docker。sh在祝辞/root/.bashrc”)
  操作系统。系统(“服务码头工人开始”)
  打印的信息:::码头工人安装完毕”
  
  def init_yy(自我):
  试一试:
  操作系统。网络系统(“码头工人创造——子网=172.21.0.0/16 huoshu 2比;/dev/null”)
  除了:
  通过
  最后:
  打印的信息:::huoshu网段设置完毕”
  AA=list_file (“% s/* . tar”% self.SoftwarePath)
  打印的信息:::开始加载图像镜像”
  因为我在AA:
  操作系统。系统(“码头工人加载& lt;% s ' % i)
  check_dir (self.SoftwarePath +/drgsburster)
  check_dir (self.SoftwarePath +/前)
  打印的信息:::配置drgsburster文件夹”
  操作系统。系统(“\ cp - r % s/drgsburster/opt ' % self.SoftwarePath)
  打印的信息:::配置前文件夹”
  操作系统。系统(“mkdir - p/opt/应用程序/,,\ cp - r % s/前面/opt/应用程序/' % self.SoftwarePath)
  
  def init_db(自我):
  AA=list_file (“% s/* . tar”% self.SoftwareOraclePath)
  打印的信息:::开始加载图像镜像”
  因为我在AA:
  操作系统。系统(“码头工人加载& lt;% s ' % i)
  AA=list_file (' % s/* gz ' % self.SoftwareOraclePath)
  因为我在AA:
  打印的信息:::开始拷贝% s数据文件至/家庭的%
  操作系统。系统(\ cp %年代/home/%我)
  打印的信息:::开始解压甲骨文数据文件的
  操作系统。系统(rm的射频/home/oracle”)
  操作系统。系统(“cd/home/,,焦油-zxvf % s在/dev/null 2祝辞,1 ' % i)
  
  def start_yy(自我):
  NginxImage=self.grep_image (“nginx”)
  打印的信息:::码头工人运行启动:% s的% NginxImage
  操作系统。系统(“码头工人停止nginx 2在/dev/null,,码头工人rm nginx 2在/dev/null”)
  操作系统。系统(“码头工人运行- d——重启=总净huoshu——ip=172.21.0.2 \ 

初始化脚本