MySQL備份指令碼

來源:互聯網
上載者:User

標籤:mysql備份指令碼

1、備份指令碼

#!/usr/bin/env python#_*_coding:utf-8_*_"""@File: backup_db.py@Author: OldTan@Email: [email protected]@Last Modified: 20180408"""import osimport datetimefrom threading import ThreadHOST = '10.36.1.101'USER = 'root'PW = '1qaz#EDC'PATH = '/mnt/tantianran_mysql_backup/'NOW = datetime.datetime.now()NOWSTR = NOW.strftime('%Y%m%d')CLEANSTR = (NOW - datetime.timedelta(days=5)).strftime('%Y%m%d')DBS = [    'urun_private_cloud',    'urun-asr',    'ambari',    'hive',    'oozie',    'storm-etl',    'urun-sms',    'analyzer-etl',    'zabbix',    'zabbix-key']def clean(db):    database = '{dbs}'.format(dbs=db)    format = 'rm -rf %(path)s%(db)s.%(date)s.sql'    kv = {'path': PATH, 'date': CLEANSTR, 'db' : database}    excute( format % kv)def backup(db):    database = '{dbs}'.format(dbs=db)    format = 'mysqldump -u %(user)s -h %(host)s -p%(pw)s %(db)s > %(path)s%(db)s.%(date)s.sql'    kv = {'user': USER, 'host': HOST, 'pw': PW, 'path': PATH, 'date': NOWSTR, 'db' : database}    excute(format % kv)def excute(cmd):    os.system(cmd)def main():    thread_list = []    for i in range(len(DBS)):        backup_t = Thread(target=backup, args=(DBS[i],))        clean_t = Thread(target=clean, args=(DBS[i],))        thread_list.append(backup_t)        thread_list.append(clean_t)    for t in thread_list:        t.start()        t.join()if __name__ == "__main__":    main()

3、刪除5天前的那一個備份

#!/usr/bin/env pythonimport osimport datetimefrom threading import ThreadPATH = '/mnt/tantianran_mysql_backup/'NOW = datetime.datetime.now()NOWSTR = NOW.strftime('%Y%m%d')CLEANSTR = (NOW - datetime.timedelta(days=5)).strftime('%Y%m%d')DBS = [    'urun_private_cloud',    'urun-asr',    'ambari',    'hive',    'oozie',    'storm-etl',    'urun-sms',    'analyzer-etl',    'zabbix',    'zabbix-key']def clean(db):    database = '{dbs}'.format(dbs=db)    format = 'rm -rf %(path)s%(db)s.%(date)s.sql'    kv = {'path': PATH, 'date': CLEANSTR, 'db' : database}    excute( format % kv)def excute(cmd):    os.system(cmd)def main():    thread_list = []    for i in range(len(DBS)):        clean_t = Thread(target=clean, args=(DBS[i],))        thread_list.append(clean_t)    for t in thread_list:        t.start()        t.join()if __name__ == "__main__":    main()

3、將當天產生的備份scp到別的地方

#!/usr/bin/env python#_*_coding:utf-8_*_"""@File: backup_db.py@Author: OldTan@Email: [email protected]@Last Modified: 20180408"""import osimport datetimefrom threading import ThreadREMOTE_PATH = '/mnt/tantianran_mysql_backup/'REMOTE_HOST = '10.36.1.55'REMOTE_USER = 'root'PATH = '/mnt/tantianran_mysql_backup/'NOW = datetime.datetime.now()NOWSTR = NOW.strftime('%Y%m%d')CLEANSTR = NOW.strftime('%Y%m%d')DBS = [    'urun_private_cloud',    'urun-asr',    'ambari',    'hive',    'oozie',    'storm-etl',    'urun-sms',    'analyzer-etl',    'zabbix',    'zabbix-key']def scp_db_file(db):    database = '{dbs}'.format(dbs=db)    format = 'scp %(path)s%(db)s.%(date)s.sql %(remote_user)[email protected]%(remote_host)s:%(remote_path)s'    kv = {'path': PATH, 'date': CLEANSTR, 'db' : database, 'remote_user': REMOTE_USER, 'remote_host': REMOTE_HOST, 'remote_path': REMOTE_PATH}    excute( format % kv)def excute(cmd):    os.system(cmd)def main():    thread_list = []    for i in range(len(DBS)):        scp_t = Thread(target=scp_db_file, args=(DBS[i],))        thread_list.append(scp_t)    for t in thread_list:        t.start()        t.join()if __name__ == "__main__":    main()


MySQL備份指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.