python備份資料庫之壓縮篇

2021-09-03 10:10:39 字數 1733 閱讀 8765

前面介紹了乙個簡單的指令碼,用python來給mysql資料庫做資料備份,但是只是給資料庫做了個簡單的備份,我這裡準備再給他加點簡單的功能,給備份壓縮下,**稍微和之前有點不同,來看下,**中間又詳細的注釋,很容易理解:

1:  #-*- coding: utf-8 -*-
2:  #!/usr/bin/env python
3:
4:  import time
5:  import os
6:  password='root'
7:  #name=time.strftime("%y-%m-%d %h:%m:%s")
8:  backupfilename=time.strftime("%y-%m-%d-%h:%m:%s") + '.sql'
9:  #此處經過修改,原來的第乙個版本是上面注釋掉的一行**,這樣寫是為了下面壓縮的時候方便點
10:  destdir='/home/mysqlbak/'
11:  #cmd='mysqldump -uroot -p' + password + ' --all-databases > ' + destdir + name + '.sql'
12:  cmd='mysqldump -uroot -p' + password + ' --all-databases > ' + destdir + backupfilename
13:  print cmd
14:  #上面一行是除錯做用,可以注釋掉,不影響最終結果
15:  os.system(cmd)
16:  print ("backup mysql successs...")
17:
18:  print ("beginning to compress file...")
19:  import tarfile
20:  totarpath='cd ' + destdir
21:  #備份檔案的路徑,一開始由於指令碼和備份檔案不是在乙個目錄下,
22:  #建議指令碼和備份檔案放在乙個目錄下,這個都是可以自己修改的
23:  #os.system(totarpath)
24:  #tar=tarfile.open(backupfilename + '.tar','w')
25:  #上面是吧資料庫備份壓縮成乙個tar檔案,但是檔案大小沒有改變
26:  tar=tarfile.open(backupfilename + '.tar.bzip2','w|bz2')
27:  #上面是吧檔案壓縮成tar.bzip2格式的檔案,這個壓縮比比較厲害
28:  os.system(totarpath)
29:  desttarfile=destdir + backupfilename
30:  print desttarfile
31:  tar.add(desttarfile)
32:  print ("compress success...")
33:  tar.close()

我本來是吧資料庫的備份檔案簡單的額壓縮成乙個tar檔案,但是發現壓縮之後的體積居然比沒壓縮之前還要大,所以選擇了tar.bzip2的格式來壓縮,這樣的壓縮比是很明顯的,這樣才有利於我們在網路中的傳輸啊,這次就講解到這裡,大家感興趣的話可以吧**拷貝下來試驗下

2壓縮備份資料庫 MySQL資料庫備份

前端監控 www.webfunny.cn 只需要簡單幾步,就可以搭建一套屬於自己的前端監控系統,快來試試吧。github webfunny monitor mysqldump 是 mysql 自帶的邏輯備份工具。它的備份原理是通過協議連線到 mysql 資料庫,將需要備份的資料查詢出來,將查詢出的資...

備份資料庫

參考 sql如何備份到異機 寫成儲存過程,建立作業定時備份 在sql中對映一下就可以了 exec master.xp cmdshell net use z yizhi d module user yizhi administrator 說明 exec master.xp cmdshell net u...

備份資料庫

命令在dos的 url file mysql bin mysql bin url 目錄下執行 1.匯出整個資料庫 匯出檔案預設是存在mysql bin目錄下 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 mysqldump u user name p123456 database n...