pyhont备份php代码脚本详解编程语言

#!/usr/bin/env python 
# encoding: utf-8 
 
import time 
import os 
import sys 
import logging 
 
#create logger 
logger = logging.getLogger("phpfile") 
logger.setLevel(logging.DEBUG) 
#create console handler and set level to error 
ch = logging.StreamHandler() 
ch.setLevel(logging.ERROR) 
#create file handler and set level to debug 
fh = logging.FileHandler("phpfile.log") 
fh.setLevel(logging.DEBUG) 
#create formatter 
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") 
#add formatter to ch and fh 
ch.setFormatter(formatter) 
fh.setFormatter(formatter) 
#add ch and fh to logger 
logger.addHandler(ch) 
logger.addHandler(fh) 
 
def backup(): 
    source = ['/apps/emc_nas/cms/activity','/apps/emc_nas/cms/phpcms'] 
    #source = ['/apps/emc_nas/cms/activity'] 
    target_dir = '/apps/emc_nas/bak/cms_backup/' 
    today = target_dir + time.strftime('%Y%m%d') 
    now = "phpcms_" + time.strftime('%Y%m%d') 
 
     
    if not os.path.exists(today): 
        os.mkdir(today) 
        print 'Successfully created directory', today 
    logger.info(today)     
     
    target = today + os.sep + now + '.tar.gz' 
    logger.debug(target) 
    tar_backup = "tar -zcvf %s %s" % (target,' '.join(source)) 
    logger.info(tar_backup) 
 
    if os.system(tar_backup) == 0: 
        print "Successful backup to ", target 
    else: 
        print "Backup FAILED!!" 
 
    logger.debug(tar_backup) 
if __name__ == "__main__": 
	backup() 

 Jenkins发布PHP代码脚本:

#!/usr/bin/env python 
#coding:utf-8 
 
#################################### 
# discrition: jenkins git php scrpit 
# example:  sudo python php-shop.py 
# write by saneri at 2017/08/14 
#################################### 
 
import os 
import time 
import subprocess 
 
packge_dir = "/root/.jenkins/workspace/shop-H5/" 
remote_ip = "59.110.164.99" 
remote_port = "'-e ssh -p 6168'" 
backup_dir = '/data/backup/' + time.strftime('%Y%m%d') 
source_dir = "shop-H5" 
 
def backup_php(): 
 
    tgz = backup_dir + os.sep + "shop-H5_" + time.strftime('%Y%m%d%H') + '.tgz' 
    backup_tgz = "tar -zcvf %s %s" % (tgz,source_dir) 
 
    #print(time.strftime('%Y-%m-%d-%H:%M')) 
    #print(backup_dir) 
    if not os.path.exists(backup_dir): 
        os.mkdir(backup_dir) 
        print("Sucessfully created directory",backup_dir) 
 
    print("开始备份代码中...") 
    os.chdir('/opt') 
    if subprocess.call(backup_tgz,shell=True) == 0: 
        print("Successful backup to ", tgz) 
    else: 
        print("Backup FAILED!!") 
 
    time.sleep(3) 
 
def rsync_php(): 
 
    print("开始代码同步中...") 
    remote_ssh = remote_ip + ":" + packge_dir 
    rsyn = "/usr/bin/sudo rsync -avH --progress %s %s %s" %(remote_port,remote_ssh,source_dir) 
 
    if subprocess.call(rsyn,shell=True) == 0: 
        print("同步代码成功...") 
    else: 
        print("同步代码失败,check...") 
    os.chown(source_dir,504,504) 
 
if __name__ == "__main__": 
    backup_php() 
    rsync_php() 
pyhont备份php代码脚本详解编程语言

#!/usr/bin/env python 
#coding:utf-8 
 
#################################### 
# discrition: jenkins git php scrpit 
# example:  sudo python shop-h5.py 
# write by saneri at 2017/08/14 
#################################### 
 
import os 
import time 
import subprocess 
 
packge_dir = "/root/.jenkins/workspace/prd-php-p/" 
remote_ip = "59.110.164.99" 
remote_port = "'-e ssh -p 6168'" 
backup_dir= '/data/backup/' + time.strftime('%Y%m%d') 
source_dir="shop-H5" 
source_URL="/data/web/xd" 
 
def backup_php(): 
  tagz = backup_dir + os.sep + source_dir + "_" + time.strftime('%Y%m%d%H') + '.tgz' 
  print "tagz=",tagz 
  backup_tgz = "tar -zcvf %s %s" %(tagz,source_dir) 
 
  if not os.path.exists(backup_dir): 
    os.mkdir(backup_dir) 
    print("Sucessfully created directory",backup_dir) 
 
  print("开始备份代码中...") 
  os.chdir(source_URL) 
  #os.system(backup_tgz) 
  #subprocess.call(backup_tgz,shell=True) 
 
  if subprocess.call(backup_tgz,shell=True) == 0: 
    print  "Successful backup to ", tagz 
  else: 
    print "Backup FAILED!!" 
 
  time.sleep(3) 
def rsync_php(): 
 
  print("开始代码同步中...") 
 
  remote_ssh = remote_ip + ":" + packge_dir 
 
  time.sleep(3) 
 
  rsyn="/usr/bin/sudo rsync -avH --progress --exclude=.git %s %s %s" %(remote_port,remote_ssh,source_dir) 
  #print rsyn 
 
  if subprocess.call(rsyn,shell=True) == 0: 
    print("同步代码成功...") 
 
  else: 
    print("同步代码失败,check...") 
 
  #os.chown(source_dir,504,504) 
  mattr="chown -R phpci:phpci %s" %(source_dir) 
  subprocess.call(mattr,shell=True) 
 
if __name__ == "__main__": 
  backup_php() 
  rsync_php()

生产代码发布脚本

pyhont备份php代码脚本详解编程语言

#!/usr/bin/env python 
#coding:utf-8 
 
#################################### 
# discrition: jenkins git php scrpit 
# example:  sudo python prd-api.py 
# write by saneri at 2017/08/14 
#################################### 
 
import os 
import time 
import subprocess 
 
packge_dir = "/root/.jenkins/workspace/prd-php-api/" 
remote_ip = "59.110.164.99" 
remote_port = "'-e ssh -p 6168'" 
backup_dir= '/data/backup/' + time.strftime('%Y%m%d') 
source_dir="shop-api" 
source_URL="/data/www" 
excl="--exclude=shop-api/appApi/frame/log" 
 
def backup_php(): 
  tagz = backup_dir + os.sep + source_dir + "_" + time.strftime('%Y%m%d%H') + '.tgz' 
  print "tagz=",tagz 
  backup_tgz = "tar -zcvf %s %s %s" %(tagz,excl,source_dir) 
  if not os.path.exists(backup_dir): 
    os.mkdir(backup_dir) 
    print("Sucessfully created directory",backup_dir) 
 
  print("开始备份代码中...") 
  os.chdir(source_URL) 
  if subprocess.call(backup_tgz,shell=True) == 0: 
    print  "Successful backup to ", tagz 
  else: 
    print "Backup FAILED!!" 
 
  time.sleep(3) 
def rsync_php(): 
 
  print("开始代码同步中...") 
 
  remote_ssh = remote_ip + ":" + packge_dir 
  #print remote_ssh 
 
  time.sleep(3) 
 
  rsyn="/usr/bin/sudo rsync -avH --progress --exclude=.git %s %s %s" %(remote_port,remote_ssh,source_dir) 
  #print rsyn 
 
  if subprocess.call(rsyn,shell=True) == 0: 
    print("同步代码成功...") 
 
  else: 
    print("同步代码失败,check...") 
 
  mattr="chown -R phpci:phpci %s" %(source_dir) 
  subprocess.call(mattr,shell=True) 
 
if __name__ == "__main__": 
  backup_php() 
  rsync_php()

增加备份排除目录功能

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/11658.html

(0)
上一篇 2021年7月19日 11:44
下一篇 2021年7月19日 11:44

相关推荐

发表回复

登录后才能评论