python實現增量備份目錄
阿新 • • 發佈:2018-06-05
python# !/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
def get_dir(path):
print(path, '\n')
return os.listdir(path)
def bak_file(path, path_bak):
list = os.listdir(path)
for l in list:
file_path = os.path.join(path, l)
file_path_bak = os.path.join(path_bak, l)
print
file_path
# 如果文件路徑為目錄
if os.path.isdir(file_path):
# 如果在備份目錄中文件夾不存在則創建
if not os.path.isdir(file_path_bak):
create_com = '''mkdir -p '%s' ''' \
% (file_path_bak)
if os.system(create_com) == 0:
print(create_com)
else:
print('create folder failure!',os._exit(0))
bak_file(file_path, file_path_bak)
else:
# 如果文件已經存在,則比較文件修改時間
if os.path.isfile(file_path_bak):
stat_bak = os.stat(file_path_bak)
stat_source = os.stat(file_path)
# 判斷文件修改時間
if stat_source.st_mtime <= stat_bak.st_mtime:
continue
cp_com = '''cp '%s' '%s' ''' \
% (file_path, file_path_bak)
if os.system(cp_com) == 0:
print(cp_com)
else:
print('create folder failure!',os._exit(0))
# 要備份的文件目錄
path = str(raw_input('請輸入需要備份目錄:'))
# 備份文件目錄
path_bak = str(raw_input('請輸入存儲目錄'))
# 開始備份
bak_file(path, path_bak)
# -*- coding: UTF-8 -*-
import os
import sys
def get_dir(path):
print(path, '\n')
return os.listdir(path)
def bak_file(path, path_bak):
list = os.listdir(path)
for l in list:
file_path = os.path.join(path, l)
file_path_bak = os.path.join(path_bak, l)
# 如果文件路徑為目錄
if os.path.isdir(file_path):
# 如果在備份目錄中文件夾不存在則創建
if not os.path.isdir(file_path_bak):
create_com = '''mkdir -p '%s' ''' \
% (file_path_bak)
if os.system(create_com) == 0:
else:
print('create folder failure!',os._exit(0))
bak_file(file_path, file_path_bak)
else:
# 如果文件已經存在,則比較文件修改時間
if os.path.isfile(file_path_bak):
stat_bak = os.stat(file_path_bak)
# 判斷文件修改時間
if stat_source.st_mtime <= stat_bak.st_mtime:
continue
cp_com = '''cp '%s' '%s' ''' \
% (file_path, file_path_bak)
if os.system(cp_com) == 0:
print(cp_com)
else:
print('create folder failure!',os._exit(0))
# 要備份的文件目錄
path = str(raw_input('請輸入需要備份目錄:'))
# 備份文件目錄
path_bak = str(raw_input('請輸入存儲目錄'))
# 開始備份
bak_file(path, path_bak)
python實現增量備份目錄