Python简单脚本之一 (备份压缩文件)

#功能:
#1.备份系统重要文件以及mongodb文件。
#2./etc/ /usr/local/mongodb/等
#3.备份路径:/data/backup/20161103/system_backup.tar.gz
#4.备份完成打印信息

首先我要建立一备份的目录  ,我需要先判断有没有这个目录

import time
import os
d_dir=‘/usr/local/py/backup/‘    #备份目标目录
d_files=‘system_back.tar.gz‘    #命名文件
s_dir =[‘/etc/‘,‘/usr/local/mongodb/‘]    #源目录
data=time.strftime(‘%Y%m%d‘)    #时间
if os.path.exists(d_dir) == False:
        os.mkdir(d_dir)
        print (‘Successfully create dir!‘)
else:
        print (‘the dir {0} is exists !‘.format(d_dir))

效果如下

下面我来处理备份文件的名字:

我想加一个时间的目录  把备份信息放在时间的目录下面

然后我需要判断这个时间的目录是否存在并且打印信息

import time
import os
d_dir=‘/usr/local/py/backup/‘
d_files=‘system_back.tar.gz‘    #命名文件

s_dir =[‘/etc/‘,‘/usr/local/mongodb/‘]    #源目录
data=time.strftime(‘%Y%m%d‘)    #时间

d_dir1 = d_dir + data + ‘/‘        #备份目标目录

if os.path.exists(d_dir1) == False:
        os.makedirs(d_dir1)
        print (‘Successfully create {0}!‘.format(d_dir1))
else:
        print (‘the dir {0} is exists !‘.format(d_dir1))
                                                          

效果:

接下来我们就能够进行简单的备份了:

import time
import os
d_dir=‘/usr/local/py/backup/‘    #备份目标目录
d_files=‘system_back.tar.gz‘    #命名文件

s_dir =[‘/etc/‘,‘/usr/local/mongodb/‘]    #源目录
data=time.strftime(‘%Y%m%d‘)    #时间
d_dir1 = d_dir + data + ‘/‘        #创建时间的目录
r_name = d_dir1 + d_files        #压缩文件所在的目录以及名字

if os.path.exists(d_dir1) == False:
        os.makedirs(d_dir1)
        print (‘Successfully create {0}!‘.format(d_dir1))
else:
        print (‘the dir {0} is exists !‘.format(d_dir1))

tar_dir = ‘tar -czvf {0} {1} ‘.format(r_name,‘ ‘.join(s_dir))    #定义备份文件
if os.system(tar_dir) == 0:        #执行备份的命令
    print (‘the backup files is successfully!‘)
else :
    print (‘the backup files is falsed!‘)

效果:

现在我们来优化一下这个脚本:

#!/usr/bin python
#! backup system files
import time
import os
import sys
d_dir=‘/usr/local/py/backup/‘    #备份目标目录
d_files=‘system_back.tar.gz‘    #命名文件

s_dir =[‘/etc/‘,‘/usr/local/mongodb/‘]    #源目录
data=time.strftime(‘%Y%m%d‘)    #时间
d_dir1 = d_dir + data + ‘/‘        #创建时间的目录
r_name = d_dir1 + d_files        #压缩文件所在的目录以及名字

def all_bak():        #写到函数里面
    print (‘backup scripts start,please wait ...‘)
    print (‘\033[32m--------------------------------------------\033[0m‘)
    time.sleep(2)    #等待两秒

    if os.path.exists(d_dir1) == False:
            os.makedirs(d_dir1)
            print (‘Successfully create {0}!‘.format(d_dir1))
    else:
            print (‘the dir {0} is exists !‘.format(d_dir1))

    tar_dir = ‘tar -czvf {0} {1} ‘.format(r_name,‘ ‘.join(s_dir))    #定义备份文件
    if os.system(tar_dir) == 0:        #执行备份的命令
        print (‘\033[32mthe backup files {0} is successfully!\033[0m‘).format(r_name)        #打印出来备份的目录,以list的形式,带上人性化的颜色
    else :
        print (‘the backup files is falsed!‘)
try:                                #不输入参数的时候处理异常
    if len(sys.argv[1]) == 0:
        pass
except IndexError:
        print (‘warning:{please exec {0} help|all_bak}‘.format(sys.argv[0]))
try:                                 #输入参数的时候处理异常
    if sys.argv[1] == ‘all_bak‘:
        all_bak()                    #输入参数为all_bak的时候执行备份
    else:
        print (‘warning:{please exec {0} help|all_bak}‘.format(sys.argv[0]))
except IndexError:
    pass

效果:

今天无意间想了很多强迫症头疼

最后一句话:长路漫漫  边走变想吧

时间: 2025-01-23 19:18:12

Python简单脚本之一 (备份压缩文件)的相关文章

020: class, objects and instance: 一个简单的例子,压缩文件中内容的替换

这个例子是对前面学习的知道的一个简单总结. 在设计类的时候,并非所有的类都是埋头干活的类,同时也需要有很多类似于管理的类,这样的类的功能就是调用其他的类来共同的完成任务. import sys import os import shutil import zipfile class ZipReplace(object): def __init__(self, file_name, search_string, replace_string): self.file_name = file_name

python简单脚本-sql字符提取

a="""dr.GetStr("kh"), dr.GetStr("xm"), dr.GetStr("xh"), dr.GetStr("sfzh"), dr.GetStr("xbdm"), dr.GetStr("bjxx"), dr.GetStr("wyyzdm"), dr.GetStr("hkszd"), dr.Get

python 调用rar命令行 压缩文件

通过os模块的system()方法调用了系统的rar.exe命令,这个方法会返回一个变量exit_status import os import time source = [r'D:\Work\Python\Demo', 'd:\\work\\linux'] target_dir = 'D:\\Work\\backup\\' target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.rar' zip_command = "rar a %s

shell脚本----周期压缩备份日志文件

一.日志文件样式 二.目标 1.备份压缩.log结尾&&时间样式为“date +%Y%m%d”的日志文件(如:20170912.20160311等) 2.可指定压缩范围(N天前至当天):如:今天.昨天(date -d "-1 day" +%Y%m%d)至今天.前天至今天 压缩命名格式为:日期.tar.gz(或:日期.tar.bz2),压缩N天范围内文件后将会生成N个压缩包 3.可指定压缩模式(二选一):tar czf  或  tar cjf 4.可指定删除范围:删除N天

数据库自动备份压缩脚本(备份最近七天,七天之前自动删除,只保留rar文件)

把下面脚本添加到服务器计划任务中去,设置为每天执行即可,文件备份路径即为脚本所在路径,必须安装压缩文件 @echo offrem 计算指定天数之前的日期,用于后面删除指定天数的数据set DaysAgo=7set/a year=1 rem 假设系统日期的格式为yyyy-mm-ddcall :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDaysset /a PassDays-=%DaysAgo%call :DaysToDate %PassD

python压缩文件脚本

zf.py文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 """ desc:读取配置文件config.ini压缩sourcepath路径到targetpath      并可以排除不需要压缩的文件excludefile time:2014/4/30 12:03:42 author:ggh """ import zipf

linux备份mysql文件并恢复的脚本,以及其中出现的错误:ERROR: ASCII '\0' appeared in the statement

首先是在网上找了一下教程,代码很简单 #!/bin/bash folder=~/test time=`date +%Y%m%d` mysqldump -u user -p pwd -hlocalhost databasename | gzip > $folder/databasename_$time.sql.gz # find $folder -name 'databasename_*.sql.gz' -type f -mtime +7 -exec rm {} \; # gunzip < $f

bat脚本:自动压缩n天前的文件【转载】

原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html 磁盘空间有限,又不能删除,只能定期对旧文件进行压缩以尽量节省空间.在windows2003上做这件事情比较简单,在之前的平台上就麻烦些.主要是查找n天前的文件的实现有区别.在2003及以后的windows系统版本,都有一个forfiles的命令来查找文件,之前的只能通过bat命令来实现这个功能了.这两种方法的详

python 简单备份文件脚本v2.0

1.0中使用os.system来压缩会依赖计算机之外的程序,使用zipfile内置模块来创建压缩文档会是一个很好的改进,此外使用日期时间来命名压缩文件不是很全面,希望可以增加用户输入文件名以及增强文件归档功能. zipfile模块 ZipFile.write(filename[, arcname[, compress_type]]) 将指定文件添加到zip文档中.filename为文件路径,arcname为添加到zip文档之后保存的名称, 参数compress_type表示压缩方法,它的值可以是