Python定時備份mysql

2021-07-14 23:34:13 字數 1806 閱讀 1889

備份mysql資料庫的python指令碼,backup.py:

import os

import urllib

import json

import socket

import thread

import urlparse

import time

import shutil

sourcepath = "/data/mysql/data/db_name"

def delete_file_folder(src):

'''delete files and folders'''

if os.path.isfile(src):

try:

os.remove(src)

except:

pass

elif os.path.isdir(src):

for item in os.listdir(src):

itemsrc=os.path.join(src,item)

delete_file_folder(itemsrc)

try:

os.rmdir(src)

except:

pass

def copy_file_folder(src):

'''copy files'''

for item in os.listdir(sourcepath):

itemsrc=os.path.join(sourcepath,item)

if os.path.isfile(itemsrc):

shutil.copy(itemsrc, src)

def backup():

'''backup mysql'''

now = int(time.time())

yesterday = now - 3600*24

newfilename = time.strftime("%y-%m-%d", time.localtime(yesterday))

path = "/data/backup/"

i***ists = os.path.exists(path + newfilename)

if not i***ists:

try:

os.mkdir(path + newfilename)

copy_file_folder(path + newfilename)

except:

pass

old = yesterday - 2*3600*24

oldfilename = time.strftime("%y-%m-%d", time.localtime(old))

delete_file_folder(path + oldfilename)

if __name__ == "__main__":

while 1:

htime = int(time.strftime('%h',time.localtime(time.time())))

if htime == 3:

backup()

time.sleep(60)

linux環境執行backup.py指令碼,切換到同一目錄:

nohup python backup.py  &          //啟動python指令碼,nohup命令程序持久化,該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序

ps aux | grep python//檢視python程序

mysql定時備份指令碼 MySql定時備份指令碼

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...

MySql 定時備份

mysql bat echo off set month date 3,2 set day date 0,2 set year date 6,4 d redmine bitnam 1 mysql bin mysqldump opt ubackup pbackup h 192.168.122.111 ...

mysql定時備份

2009 01 191.cron介紹 分 時 日 月 星期 要執行的命令 crontab命令的一般形式為 crontab u user e l r 其中 u 使用者名稱。e 編輯crontab檔案。l 列出crontab檔案中的內容。r 刪除crontab檔案。2.mysqldump介紹 add d...