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()
#!/usr/bin/env python
#coding:utf- ####################################
# discrition: jenkins git php scrpit
# example: sudo python shop-h5.py
# write by saneri at //
#################################### 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) == :
print "Successful backup to ", tagz
else:
print "Backup FAILED!!" time.sleep()
def rsync_php(): print("开始代码同步中...") remote_ssh = remote_ip + ":" + packge_dir time.sleep() 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) == :
print("同步代码成功...") else:
print("同步代码失败,check...") #os.chown(source_dir,,)
mattr="chown -R phpci:phpci %s" %(source_dir)
subprocess.call(mattr,shell=True) if __name__ == "__main__":
backup_php()
rsync_php()
生产代码发布脚本
#!/usr/bin/env python
#coding:utf- ####################################
# discrition: jenkins git php scrpit
# example: sudo python prd-api.py
# write by saneri at //
#################################### 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) == :
print "Successful backup to ", tagz
else:
print "Backup FAILED!!" time.sleep()
def rsync_php(): print("开始代码同步中...") remote_ssh = remote_ip + ":" + packge_dir
#print remote_ssh time.sleep() 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) == :
print("同步代码成功...") else:
print("同步代码失败,check...") mattr="chown -R phpci:phpci %s" %(source_dir)
subprocess.call(mattr,shell=True) if __name__ == "__main__":
backup_php()
rsync_php()
增加备份排除目录功能
pyhont备份php代码脚本的更多相关文章
- Centos使用crontab自动定时备份mysql的脚本
在我们网站上线之后免不了需要备份数据库,为什么要备份呢?我给大家列出了3个理由. 1.防止数据丢失 2.防止数据改错了,可以用来恢复 3.方便给客户数据 以 上几点告诉我们要经常备份,当然我今天给大家 ...
- salt上编写了备份日志的脚本
我在salt上编写了备份日志的脚本,在/opt/CardServer下的主程序目录只保留当天的日志,/opt/log_del目录会保存7天的日志.salt * state.sls script.log ...
- SQL备份数据库代码
SQL备份数据库代码 #region 服务每天备份一次数据库 /// <summary> /// 服务每天备份一次数据库 /// </summary> public void ...
- php 备份数据库代码(生成word,excel,json,xml,sql)
单表备份代码: 复制代码代码如下: <?php class Db { var $conn; function Db($host="localhost",$user=" ...
- 实现对MySQL数据库进行分库/分表备份(shell脚本)
工作中,往往数据库备份是件非常重要的事情,毕竟数据就是金钱,就是生命!废话不多,下面介绍一下:如何实现对MySQL数据库进行分库备份(shell脚本) Mysq数据库dump备份/还原语法: mysq ...
- 数据库备份及SQL脚本导入
数据库备份及SQL脚本导入 数据导出 su - oracle exp 数据库用户名/数据库密码@ORCL file=20190905.dmp full=y SQL脚本导入 首先导入前查看Oracle用 ...
- [SQLServer]NetCore中将SQLServer数据库备份为Sql脚本
NetCore中将SQLServer数据库备份为Sql脚本 描述: 最近写项目收到了一个需求, 就是将SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大 ...
- Linux oracle数据库自动备份自动压缩脚本代码
Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: www.jbxue.com ##系统名称 sysname ...
- Linux自动备份MySQL数据库脚本代码
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...
随机推荐
- java8的新特性以及用法简介
1. 介绍 2 接口的默认方法 2 lambda表达式 2.1 函数式接口 2.2 方法与构造函数引用 2.3 访问局部变量 2.4 访问对象字段与静态变量 3. 内建函数式接口 3.1 Predic ...
- ES6里新添加了两个很好用的东西,set和Array.from。
set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目. 在这我们可以看见,重复的项目已经被去掉了,包括NaN.正常情况下,NaN === NaN 返回的是false,但 ...
- 3. DNN神经网络的正则化
1. DNN神经网络的前向传播(FeedForward) 2. DNN神经网络的反向更新(BP) 3. DNN神经网络的正则化 1. 前言 和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考 ...
- iOS实现tableViewCell或collectionCell中点击界面按钮跳转
//找到父类界面 - (UIViewController *)viewController { for (UIView* next = [self superview]; next; next = n ...
- MFC工程说明readme
======================================================================== MICROSOFT FOUNDATION CLASS ...
- EM算法学习资料备忘
将学习EM算法过程中看到的好的资料汇总在这里,供以后查询.也供大家參考. 1. 这是我学习EM算法最先看的优秀的入门文章,讲的比較通俗易懂,并且举了样例来说明当中的原理.不错! http://blog ...
- WPF DataTomplate中Command无效
问题:在DataTomplate中添加一个Button,Button添加Command,但是Command生效. 原因:ItemTemplate的DataContext指代不明,需要改为父类的Data ...
- Spring高级装配(二) 条件化的bean
如果你希望一个bean在特定的条件下才会出现: 应用的类路径下包含特定的库时才创建 只有当某个特定的bean也声明之后才会创建 某个特定的环境变量设定之后才创建某个bean 在Spring 4之前,很 ...
- 如何在CentOS 6.5上升级PHP
CentOS 6.5上默认安装PHP 5.3.因为后台网站无法正确运行在PHP 5.3上,所以计划将PHP升级到开发平台一样的版本PHP 5.5.为了方便,我们采用YUM的方式升级PHP 工具/原料 ...
- name是个特殊的变量名吗
这是为什么?求大神