Python实现定时自动备份文件

 更新时间:2024年12月31日 10:48:04   作者:hvinsion  
随着数据的不断增长,文件备份变得越来越重要,这篇文章主要为大家详细介绍了如何使用Python实现定时自动备份文件功能,需要可以了解下

简介

通过generate.bat文件生成外置配置文本文件config.ini,python调用config.ini外置变量参数,从而实现设置定时备份文件的任务。

1. bat脚本部分代码

@echo off
set logname=\backup.log
echo [Config] > config.ini
echo 输入拷贝的需备份文件夹路径:
set /p  file_folder=folderDir= >>config.ini
echo 输入拷贝的目的文件夹路径: 
echo %file_folder% >>config.ini
set /p  back_folder=folderDir_Backup= >>config.ini
echo %back_folder% >>config.ini
echo 输入备份日志文件夹缓存路径: 
set /p  log_folder=logDir= >>config.ini
echo %log_folder%%logname% >>config.ini
echo 输入计划启动任务的时间:
set /p  schedule_time=time= >>config.ini
echo %schedule_time% >>config.ini

rem 将路径中'\'转换成'//'
set strFilePath=config.ini
set strOld=\
set strNew=//

setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (%strFilePath%) do (
  set "var=%%i"
  if not !var!.==. (
    set "var=!var:%strOld%=%strNew%!"
    echo !var!!>>%strFilePath%.bk
  )
)

move /y %strFilePath%.bk %strFilePath% >nul

echo 正在转换生成配置文件config.ini,请稍等...
timeout -t 3 >nul

exit

2.cmd窗口填写需要备份的路径以及时间参数

3.config.ini 配置文件自动生成内容

[Config] 
folderDir= E://a 
folderDir_Backup= E://b 
logDir= E://backup.log 
time= 10:16

4.日志文件生成

5.backup.py 相关代码

import sys
import os
import time
import datetime
from datetime import datetime,timedelta
import shutil
import configparser

#读取config.ini文件变量 
config = configparser.ConfigParser()
config.read('config.ini')
fileFolder = config.get('Config', 'folderDir')
fileNamedir = config.get('Config', 'folderDir_Backup')
filebak_log = config.get('Config', 'logDir')

#读取时间参数
def set_schedule_time(time_str):
    config.set('Config', 'time', time_str)
    with open('config.ini', 'w') as configfile:
        config.write(configfile)

'''
#备份
def work():
    replaced_string = fileNamedir.replace('//', '\\')     #替换路径中的"//"字符
    fileName = (replaced_string) + r'\Backup_' + time.strftime('%Y%m%d%H%M')
    print('----开始备份----')

    shutil.make_archive(fileName, 'zip', root_dir=fileFolder)

    print('----备份完成--->' + time.strftime('%Y%m%d%H%M')+'.zip')
    with open(filebak_log, 'a') as filebak:   #生成日志
        filebak.write(time.strftime('%Y-%m-%d %H:%M',time.localtime())+':'+'Successfull backup to %s'% fileName+'.zip!\n')

#主函数
def main():
    print('----工具启动----')
    while True:
        while True:
                   # 获取当前时间
                   now = datetime.now()
                   current_time = f"{now.hour:02d}:{now.minute:02d}"
                   if current_time == config['Config']['time']:
                      break
        work()
        time.sleep(180)


if __name__ == '__main__':
   
    main()
    #print(list(os.walk(fileNamedir)))

到此这篇关于Python实现定时自动备份文件的文章就介绍到这了,更多相关Python自动备份文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python命令行模式的用法及流程

    python命令行模式的用法及流程

    在本篇文章里小编给大家整理的是一篇关于python命令行模式的用法及流程相关内容,有兴趣的朋友们可以跟着学习下。
    2021-09-09
  • Python字符串逆序的实现方法【一题多解】

    Python字符串逆序的实现方法【一题多解】

    今天小编就为大家分享一篇关于Python字符串逆序的实现方法【一题多解】,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • pymongo如何通过oplog获取数据(mongodb)

    pymongo如何通过oplog获取数据(mongodb)

    使用MongoDB的oplog(操作日志)进行数据同步是高级的用法,主要用于复制和故障恢复,这篇文章主要介绍了pymongo通过oplog获取数据(mongodb),需要的朋友可以参考下
    2023-09-09
  • python动态文本进度条的实例代码

    python动态文本进度条的实例代码

    这篇文章主要介绍了python动态文本进度条的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • python3.7 的新特性详解

    python3.7 的新特性详解

    这篇文章主要介绍了python3.7 的新特性详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python设置环境变量的作用和实例

    python设置环境变量的作用和实例

    在本篇文章里小编给各位整理了关于python设置环境变量的作用和实例内容知识点,需要的朋友们学习参考下。
    2019-07-07
  • 利用python在Word文档中创建和执行条件邮件合并

    利用python在Word文档中创建和执行条件邮件合并

    邮件合并域和IF域是Word文档中两种非常实用的域,前者可以用来进行邮件合并,根据数据批量创建定制的Word文档,本文讲介绍如何使用Python在Word文档中创建条件邮件合并域以及执行条件邮件合并,需要的朋友可以参考下
    2024-08-08
  • Python设置Socket代理及实现远程摄像头控制的例子

    Python设置Socket代理及实现远程摄像头控制的例子

    这篇文章主要介绍了Python设置Socket代理及实现远程摄像头控制的例子,皆是对socket模块的实际运用,需要的朋友可以参考下
    2015-11-11
  • Python基础教程之浅拷贝和深拷贝实例详解

    Python基础教程之浅拷贝和深拷贝实例详解

    这篇文章主要介绍了Python基础教程之浅拷贝和深拷贝实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Python中List.index()方法的使用教程

    Python中List.index()方法的使用教程

    这篇文章主要介绍了Python中List.index()方法的使用教程,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05

最新评论