python按日期分类备份文件夹

[[email protected] tmp]# cat backup.py
#!/usr/bin/env python
import os
import time
import sys

def create_backup_dir(target_dir):
    today_dir = target_dir + time.strftime(‘%Y-%m-%d‘)
    if not os.path.exists(today_dir):
            os.mkdir(today_dir)
    return today_dir
    
def is_exists_dir(source):
    for dir in source:
        if not os.path.exists(dir):
            print "Source %s does not exist" % dir
            sys.exit(1)
            
def build_backup_command(source, target_dir):
    is_exists_dir(source)
    time_dir = time.strftime(‘%H-%M-%S‘)
    today_dir = create_backup_dir(target_dir)
    touch = today_dir + os.sep + time_dir + ‘.zip‘   # os.sep 根据操作系统不同,形成不同的文件路径分隔符
    zip_command = "zip -qr %s %s" % (touch, ‘ ‘.join(source))
    return zip_command
    
def exec_backup_command(zip_command):
    if os.system(zip_command) == 0:
        print "Backup successfully"
    else:
        print "Backup failed"
        
if __name__ == ‘__main__‘:
    source = [‘/tmp/a/‘]
    target_dir = ‘/tmp/b/‘
    zip_command = build_backup_command(source, target_dir)
    exec_backup_command(zip_command)
时间: 2024-08-25 23:00:42

python按日期分类备份文件夹的相关文章

简明python教程的例程 备份文件夹 的winrar的用法,编译成功了

#!/usr/bin/Python   # Filename: backup_ver1.py   import os   import time   source =[r'D:\shi1', r'D:\shi2']   target_dir = 'F:\\back\\' # 文件夹路径用"\\"表示,这个winrar来决定的 #中文注释和英文注释不同吗 #you will be using   target = target_dir + time.strftime('%Y%m%d%H%

python介绍 编程语言分类及对比 python解释器安装(多版本共存) 变量 数据类型(三种)

python介绍编程语言分类及对比python解释器安装(多版本共存)变量数据类型(三种) 一:python介绍 1.python是什么? python是一门编程语言,编程语言就是一门语言 语言就是一个事物与另外一个事物沟通的工具 而编程语言则是人与计算机沟通的介质 2.为什么要跟计算机沟通:为了奴役计算机 奴隶主-------(人类的语言)-------->奴隶 奴隶主-------(编程语言)-------->计算机 3.什么是编程 奴隶主把想让计算机替自己做事情的逻辑用编程语言给表达出来

python操作日期和时间的方法

经常获得了一个用户提交的当前日期,我们需要以这个日期为依据返回它的前一天.后一天的日期或者转换操作等.用Python可以非常简单的解决这些关于日期计算的问题. 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法. 1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray 

用python操作文件和文件夹

我有一堆层级3到4级的文件夹,这里面存有的一些文件是我需要的,一些是我不需要的.需要的文件都存储在名字中有'Data'的文件夹内.现在我需要把这些文件提取(拷贝)到一个指定的文件夹里. 一个文件夹一个文件夹去点开是一种方法,但是对于层级比较深的文件夹是一件很枯燥的事情. 本着一切尽量自动化的原则,我用python来做这件事情. 这个需求归纳下来需要: 从一个起始目录开始 遍历每一个文件夹 如果文件夹的名字中有'Data',拷贝它的内容至目标文件夹 python对文件.文件夹的操作是非常常见的需求

Python 去掉日期的前导0

今天发现使用Python获取日期的时候,使用date.strftime('%Y.%M.%D.%H%I ')来格式化获取的日期如果月份小于10,会出现前导0.获取的日期格式如:2017.03.24.0510 所以会在月份3前面多一个0,但是此时我们并不想要这个0,所以百度了一下,发现都是使用%-D,但是在pycharm中运行的时候直接崩了,所以只能另寻他路,发现中有一个方法“date.timetuple():返回日期对应的time.struct_time对象:”此方法返回一个结构体,如下: tim

python动态import某个文件夹下的模块

因为有  "用户上传脚本,动态运行"的需求,所以要动态地import用户上传的模块 所以写了个函数动态地import # -*- coding: utf-8 -*- import os import sys import os.path import Queue import commands def test(rootDir): #判断传入的路径下是否有"__init__.py"这个文件了,如果没有则创建,否则import会认为没有这个moudle if os.p

定时压缩备份文件(夹)并FTP上传至备份服务器批处理

定时压缩备份文件(夹)并FTP上传至备份服务器(BAT)rem 定时备份文件并FTP上传至备份服务器rem 要备份的文件夹(多个文件夹用空格分开)set bak_webFile=E:\sman\webfile E:\sman\datafilerem 临时文件夹set bak_tmpFile=C:\~SmanTemp\rem 日志文件夹set bak_logPath=C:\~bak_log\rem 生成的rar 文件名set bak_bakFile=YYYYMMDD(页面备份) rem 当前日期(

python批量改动指定文件夹文件名称

这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称: 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files = os.listdir('D:\\1') #路径能够自己 for name in files: a = os.path.splitext(name) if a[1] == '.txt': #txt能够自己手动改动成你想改的文件名称 newname = a[0]+'.py' #.py也是能够改动 p

django实现日期分类效果

日期分类效果图 实现功能:能够按照月份进行分类,统计每个月份的文章数量,没有文章的月份不显示.点击每栏可以链接的当月的文章列表. 每月文章列表可以使用django的通用视图MonthArticleView,比较容易实现.日期分类需要自己模板的context. (参考链接地址:http://www.butteredcat.org/article/23/) 1 def month_list(): 2 articles = Article.objects.all() 3 year_month = se