用zip备份文件的脚本

来源:转载

有些资料需要备份,刚好开始学Python,所以写一个脚本进行备份,上代码


#!/usr/bin/python
# -*- coding:utf8 -*-
# Filename:zip_backup.py
import os #系统模块
import sys
import time #时间模块
import pdb #断点模块
import logging #日志模块
from pprint import pprint
import tarfile #tar压缩模块
import zipfile #zip压缩模块
today = time.strftime('%Y%m%d')
#源目录或源文件列表
source = ['/opt/wwwroot/test/1', '/home/c80k2/Jason/php']
#添加源目录或源文件
source_add = raw_input('请输入要额外压缩的文件或目录路径,多个路径之间用单个空格分隔 --> ')
#将新增源目录或源文件转换为列表
source_add = source_add.split()
#将新增列表并入原列表
source.extend(source_add)
#对源列表目录进行校验
for s in source[:]:
if not os.path.exists(s):
source.remove(s)
logging.info('%s %s not exist' % (time.strftime('%Y-%m-%d %H:%m:%s'), source))
print('%s %s not exist' % (time.strftime('%Y-%m-%d %H:%M:%S'), s))
#存放备份文件的目录路径
target_dir = '/home/c80k2/Jason/zip_backup/' + time.strftime('%Y%m%d') + '/'
#创建存放备份文件的目录
if not os.path.exists(target_dir):
os.mkdir(target_dir)
print '成功创建%s目录' % target_dir
#zip压缩包名称
target = target_dir + time.strftime('%H%M%S') + '.zip'
#zip_command = "zip -Djr %s %s" % (target, ' '.join(source)) #没有前面的目录结构但是包含的目录结构也没有了
#zip压缩命令
zip_command = "zip -Jr %s %s" % (target, ' '.join(source)) #有前面的目录结构
print zip_command
#如果执行成功
if os.system(zip_command) == 0:
print '成功备份至', target
else:#如果执行失败
print '备份失败'

执行情况


/usr/bin/python2.7 /home/c80k2/PycharmProjects/test/zip_backup.py
请输入要额外压缩的文件或目录路径,多个路径之间用单个空格分隔 --> /opt/wwwroot/2222 /aaaa /bbbb zip_backup.py
2017-11-15 21:19:27 /opt/wwwroot/2222 not exist
2017-11-15 21:19:27 /aaaa not exist
2017-11-15 21:19:27 /bbbb not exist
zip -Jr /home/c80k2/Jason/zip_backup/20171115/211927.zip /opt/wwwroot/test/1 /home/c80k2/Jason/php zip_backup.py
adding: opt/wwwroot/test/1/ (stored 0%)
adding: opt/wwwroot/test/1/22/ (stored 0%)
adding: opt/wwwroot/test/1/test10.py (deflated 59%)
adding: home/c80k2/Jason/php (deflated 38%)
adding: zip_backup.py (deflated 49%)
成功备份至 /home/c80k2/Jason/zip_backup/20171115/211927.zip
Process finished with exit code 0

感觉


1, Python的语法相对比较简单,但是由于PHP的先入为主,读写习惯方面还需要适应;


2, Python的断点调试方面不是很方便,PHP的var_dump()是一个非常好的调试工具,但是Python没有;

分享给朋友:
您可能感兴趣的文章:
随机阅读: