此脚本适用于备份指定发布目录下的目录,可适当修改运用!
#!/usr/bin/env python
#backup app python script.
import os
import time
import sys
nowTime = time.strftime("%Y%m%d")
sourcePath = ‘/home/zcb/resin-4.0.10/apps/‘
backupPath = ‘/home/zcb/tmp/bak‘+nowTime
if not os.path.exists(‘/home/zcb/tmp/bak‘+nowTime):
os.mkdir(‘/home/zcb/tmp/bak‘+nowTime)
print time.strftime("%Y-%m-%d")+‘ Backup Directory create successfully!‘
applist = []
def getAppList():
all = os.listdir(sourcePath)
for i in all:
if os.path.isdir(sourcePath+i):
applist.append(i)
def backup_all():
print "%s App Backuping...." % time.strftime("%Y-%m-%d")
print "-" * 35
for appName in applist:
os.chdir(sourcePath)
tar_command = ‘tar -zcf %s/%s.tar.gz %s‘ % (backupPath,appName,appName)
if os.system(tar_command) == 0:
print "\033[;32m%s backup successfully!\033[0m" % appName
else:
print "\033[;31m%s backup failed!\033[0m" % appName
print "-" * 35
print "End"
def backup_single():
print "%s App Backuping...." % time.strftime("%Y-%m-%d")
print "-" * 35
os.chdir(sourcePath)
tar_command = ‘tar -zcf %s/%s.tar.gz %s‘ % (backupPath,appName,appName)
if os.system(tar_command) == 0:
print "\033[;32m%s backup successfully!\033[0m" % appName
else:
print "\033[;31m%s backup failed!\033[0m" % appName
print "-" * 35
print "End"
if len(sys.argv) == 2:
appName = sys.argv[1]
getAppList()
if appName in applist:
backup_single()
else:
print "%s not exist, Please try again!" % appName
else:
input = raw_input("No input any parameters, whether to perform a full backup?(y/n) ")
if input == ‘y‘ or input == ‘Y‘:
getAppList()
backup_all()
else:
print "Exit Backup, Bye!~"
#print applist