一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本


一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本


@for&ever 2010-07-03

 

功能:


获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中

 


脚本如下:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以提供一个python脚本,它可以帮助你进行增量备份,只保存一个月的文件:import os import datetime import shutil# 设置备份源路径 src_dir = 'C:/your_source_dir/'# 设置备份目标路径 dest_dir = 'C:/your_destination_dir/'# 设置保存时间为1个月 now = datetime.datetime.now() one_month_ago = now - datetime.timedelta(weeks=4)# 遍历备份源路径 for file in os.listdir(src_dir): # 获取每个文件修改时间 file_modified_time = datetime.datetime.fromtimestamp(os.stat(src_dir + file).st_mtime) # 如果文件修改时间大于1个月前,则进行备份 if file_modified_time > one_month_ago: shutil.copy(src_dir + file, dest_dir) ### 回答2: 数据库备份是非常重要的,保证数据的完整性和安全性。以下是一个使用Python编写的数据库增量备份脚本,以每月为单位保留备份文件。 ```python import os import shutil import datetime # 设置备份目录和数据库名 backup_dir = "/path/to/backup/" database_name = "your_database.db" # 获取当前日期 current_date = datetime.datetime.now() # 创建备份文件名 backup_file_name = f"{database_name}_{current_date.strftime('%Y%m%d')}.db" # 获取一个月前的日期 one_month_ago = current_date - datetime.timedelta(days=30) # 遍历备份目录,删除一个月之前的备份 for file_name in os.listdir(backup_dir): file_path = os.path.join(backup_dir, file_name) # 判断文件是否为备份文件 if file_name.startswith(database_name) and file_name.endswith(".db"): # 获取备份文件的日期 file_date = datetime.datetime.strptime(file_name.split("_")[1].split(".")[0], "%Y%m%d") # 判断备份文件日期是否早于一个月前 if file_date < one_month_ago: # 删除过期的备份文件 os.remove(file_path) # 执行数据库备份 shutil.copy(database_name, os.path.join(backup_dir, backup_file_name)) ``` 该脚本首先设置备份目录和数据库名称,然后获取当前日期,并创建备份文件名。接下来,计算一个月前的日期,遍历备份目录下的文件,找到之前的备份文件并删除。 最后,使用`shutil.copy()`函数执行数据库备份,将数据库文件复制到备份目录下,并使用备份文件名进行命名。 你可以将`/path/to/backup/`替换为实际的备份目录路径,将`your_database.db`替换为实际的数据库文件名。 这样,每次运行该脚本时,都会将最新的数据库备份到备份目录,并在备份目录中保留一个月的备份文件。 ### 回答3: 下面是一个可以实现数据库增量备份的Python脚本示例: ```python import os import shutil import datetime # 数据库备份目录 backup_dir = "/path/to/backup" # 数据库文件目录 db_dir = "/path/to/db" # 备份的月份数 months_to_keep = 1 # 获取当前日期 current_date = datetime.datetime.now().strftime("%Y-%m-%d") # 获取备份目录的日期列表 backup_dates = sorted([d for d in os.listdir(backup_dir) if os.path.isdir(os.path.join(backup_dir, d))]) # 删除超过指定月份数的备份 if len(backup_dates) >= months_to_keep: for i in range(len(backup_dates) - months_to_keep + 1): shutil.rmtree(os.path.join(backup_dir, backup_dates[i])) # 创建当天的备份目录 current_backup_dir = os.path.join(backup_dir, current_date) os.makedirs(current_backup_dir) # 备份数据库文件 for file_name in os.listdir(db_dir): file_path = os.path.join(db_dir, file_name) shutil.copy(file_path, current_backup_dir) ``` 上述脚本通过指定的备份目录和数据库文件目录进行增量备份,并将备份文件按日期保存在备份目录中。通过比较备份目录中的备份日期数量和设置的月份数来确定是否需要删除旧的备份。如果备份目录中的日期数量超过了设定的月份数,则按日期排序删除最早的备份目录。之后,脚本创建当天的备份目录,并将数据库文件复制到该目录中,即完成了增量备份。 请注意,上述示例是基于操作系统文件复制和删除来实现的,对于不同的数据库类型,可能需要采用不同的备份和恢复机制。此外,该脚本只是示例,可能需要根据实际需求进行适当的修改和完善。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值