前面介紹了乙個簡單的指令碼,用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...