步骤逻辑

要备份的文件夹:source = ["/opt/containerd"]

保存备份信息的文件夹 targz_dir = "/home/backup"

文件夹名(以当天日期为) day_dir = targz_dir +time.strftime('%Y%m%d')

文件名(当时时间为)  filename = time.strftime('%H%M%S')

检查文件夹是否存在 os.path.exist(day_dir)

文件夹路径 需要压缩 zip_dir = day_dir + os.sep +filename +'.zip'    # os.sep  兼容Windows平台斜杠 os.sep = '\\'

文件压缩命令  command_shell = "zip -qr" +"zip_dir" + ' '.jion(source)

代码实现

source = ["/home/yjc/linux"]
targz_dir = "hoem/backup"
day_dir = targz_dir +time.strftime('%Y%m%d')
filename = time.strftime('%H%M%S')
zip_dir = day_dir +os.sep + filename +'.zip'
command_shell= "zip -qr" + zip_dir + ''+' '.join(source) if not os.path.exists(day_dir): # 判断备份目录是否存在,如果不存在则创建
os.mkdir(day_dir)
if os.system(command_shell) == 0:
print("备份成功")
else:
print("备份失败")

简易图形界面

def bakcup():
global entry_source
global entry_tagz_dir
source= entry_source.get()
targz_dir=entry_tagz_dir.get()
day_dir = targz_dir +time.strftime('%Y%m%d')
filename = time.strftime('%H%M%S')
zip_dir = day_dir +os.sep + filename +'.zip'
command_shell= "zip -qr" + zip_dir + ''+' '.join(source) if not os.path.exists(day_dir): # 判断备份目录是否存在,如果不存在则创建
os.mkdir(day_dir)
if os.system(command_shell) == 0:
print("备份成功")
else:
print("备份失败")
#编写界面布局
root = tkinter.Tk()
root.title('Backup')
root.geometry("2000x2000") #第一行的两个控件 dir_source = tkinter.Label(root,text='Source')
dir_source.grid(row=0,column=0)
entry_source = tkinter.Entry(root)
entry_source.grid(row=0,column=1) # 第二行控件
target_dir = tkinter.Label(root,text='Target')
target_dir.grid(row=1,column=0)
entry_tagz_dir=tkinter.Entry(root)
entry_tagz_dir.grid(row=1,column=1) #第三行控件
bak=tkinter.Button(root,text='Backup')
bak.grid(row=3,column=0)
bak["command"] = bakcup #界面开始
root.mainloop()

最新文章

  1. MemCache
  2. Codeforces Testing Round #12 C. Subsequences 树状数组
  3. Set a static file on django
  4. 对String的一点了解
  5. js实现中文转拼音
  6. SQL中的delete和TRUNCATE的用法
  7. PeopleEditor的取值及赋值
  8. c# Socket通讯中关于粘包,半包的处理,加分割符
  9. mac os ssh远程链接centos提示证书错误解决方法
  10. js 原型链解密
  11. python基础之数字、字符串、列表、元组、字典
  12. python--表达式(运算表达式)
  13. WPF实现打印用户界面功能
  14. 使用mockserver来进行http接口mock
  15. Perl 杂记
  16. VS2010编译和运行项目错误
  17. 腾讯下载的视频qlv格式转化为MP4格式
  18. SQL语句平时不注意的那些小知识点总结
  19. 更改SQL Server中默认备份文件夹
  20. 方法执行一次js

热门文章

  1. Linux简易入门
  2. Java 进阶P-4.8+P-4.9
  3. GPS定位解决偏差
  4. mysql17-sql优化-慢查询日志
  5. docker03-常用命令
  6. C#NPOI操作Excel,实现Excel数据导入导出(支持多个sheet)
  7. elasticsearch之日期类型有点怪
  8. 联邦GNN综述与经典算法介绍
  9. P16_发布-小程序的推广与运行数据的查看
  10. Redux Toolkit 的使用方法