91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python腳本按表備份MySQL數據庫

發布時間:2020-06-20 20:58:03 來源:網絡 閱讀:6441 作者:yujianglei 欄目:數據庫


腳本功能:

 1.自動創建備份目錄

 2.自動備份數據庫的每個表,并壓縮

 3.備份結果,郵件通知聯系人

python腳本按表備份MySQL數據庫

python腳本按表備份MySQL數據庫

 4.腳本內容

#!/usr/bin/env  python
# --*-- coding:UTF-8 --*--
# Create by JIANGLEI.YU on 2016/04/21
# 多表自動備份ok。發送郵件失敗。
import  MySQLdb
import  sys
import  os
import  datetime
import  smtplib
from    email.mime.text   import MIMEText
import  sys

# Define Mysql Environments
Hostname='192.168.0.141'
Username='root'
Password='123456'
Database='virtual'
MYSQLDUMP='/usr/bin/mysqldump'
GZIP='/usr/bin/gzip'
timestamp=datetime.datetime.now().strftime("%Y%m%d%H%M%S")
Destination_dir='/home/bak/tables/' + timestamp + '/'

# Define Smtp Environments
Host='smtp.exmail.qq.com'
Port=25
sender='yujianglei@singulax.com'
Pass='123456'
recivers='jianglei.yu@foxmail.com'
def main():
if os.path.exists(Destination_dir) == False:
os.makedirs(Destination_dir)
db_table_backup()
else:
db_table_backup()
def email():
try:
server= smtplib.SMTP()
server.connect(Host,Port)
server.login(sender,Pass)
server.sendmail(sender,recivers,msg.as_string())
except Exception,e:
print e
print "郵件發送失敗!"
def backup_failed():
global msg
msg = MIMEText('數據庫單表備份失敗')
msg['subject'] = '數據庫單表備份失敗'
msg['From'] = sender
msg['To'] = recivers
email()
sys.exit(2)
def backup_sucess():
global msg 
msg = MIMEText(('數據庫單表備份成功,共備份%d張表,共用時%.2f分鐘.') % (tables_count,backup_period) ,  'plain','utf-8' ) 
msg['subject'] = '數據庫單表備份成功'  
msg['From'] = sender
msg['To'] = recivers
email()
def db_table_backup():
start_time=datetime.datetime.now()
try:
db = MySQLdb.connect(Hostname,Username,Password,Database,connect_timeout=2)
cursor = db.cursor()
except Exception, e:
# print e
print "連接數據庫失敗"
backup_failed()
cursor.execute('show tables')
f = cursor.fetchall()
list_status = []
for table in f:
# print table
for i in table:
MYSQLDUMP_CMD = MYSQLDUMP + ' -h' + Hostname + ' -u' + Username + ' -p' + Password + ' ' +  Database + ' ' + i + ' ' + '| ' + GZIP + ' >' + Destination_dir + Database + '-' + timestamp+ '.' + i + '.' + 'sql.gz'
result = os.system(MYSQLDUMP_CMD)
list_status.append(result)
global tables_count
tables_count = len(list_status)
list_test=[0]
j = set(list_status).issubset(set(list_test))
if j == True:
end_time=datetime.datetime.now()
global backup_period
backup_period = ((end_time - start_time).seconds)/60.0
backup_sucess()
else:
backup_failed()
cursor.close()
db.close()
if __name__ ==  '__main__':
main()


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 阳春市| 深水埗区| 荆门市| 高邑县| 蕲春县| 锦州市| 安阳县| 怀柔区| 凤凰县| 浮山县| 砚山县| 诸暨市| 巩留县| 巴林左旗| 江口县| 大连市| 铜梁县| 平远县| 中西区| 中阳县| 兰西县| 分宜县| 金华市| 平乡县| 科技| 达日县| 忻城县| 炉霍县| 滕州市| 山阴县| 化德县| 高陵县| 犍为县| 枞阳县| 锦屏县| 甘南县| 开江县| 道真| 建宁县| 南召县|