Python實現(xiàn)定時自動備份文件
更新時間:2024年12月31日 10:48:04 作者:hvinsion
隨著數(shù)據(jù)的不斷增長,文件備份變得越來越重要,這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)定時自動備份文件功能,需要可以了解下
簡介
通過generate.bat文件生成外置配置文本文件config.ini,python調(diào)用config.ini外置變量參數(shù),從而實現(xiàn)設置定時備份文件的任務。
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 將路徑中'\'轉(zhuǎn)換成'//' 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 正在轉(zhuǎn)換生成配置文件config.ini,請稍等... timeout -t 3 >nul exit
2.cmd窗口填寫需要備份的路徑以及時間參數(shù)
3.config.ini 配置文件自動生成內(nèi)容
[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') #讀取時間參數(shù) 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('//', '\\') #替換路徑中的"http://"字符 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') #主函數(shù) 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實現(xiàn)定時自動備份文件的文章就介紹到這了,更多相關Python自動備份文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
導入pytorch時libmkl_intel_lp64.so找不到問題解決
這篇文章主要為大家介紹了導入pytorch時libmkl_intel_lp64.so找不到問題解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽
這篇文章主要介紹了Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加簽驗簽,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2019-12-12Python數(shù)據(jù)分析模塊pandas用法詳解
這篇文章主要介紹了Python數(shù)據(jù)分析模塊pandas用法,結(jié)合實例形式詳細分析了Python數(shù)據(jù)分析模塊pandas的功能、常見用法及相關操作注意事項,需要的朋友可以參考下2019-09-09