zoukankan      html  css  js  c++  java
  • Python mysql backup

    http://www.linuxidc.com/Linux/2015-02/113057.htm

    -------------

    #!/usr/bin/python
    ###########################################################
    #
    # This python script is used for mysql database backup
    # using mysqldump utility.
    #
    # Written by : Rahul Kumar
    # Website: http://tecadmin.net
    # Created date: Dec 03, 2013
    # Last modified: Dec 03, 2013
    # Tested with : Python 2.6.6
    # Script Revision: 1.1
    #
    ##########################################################

    # Import required python libraries
    import os
    import time
    import datetime

    # MySQL database details to which backup to be done. Make sure below user having enough privileges to take databases backup.
    # To take multiple databases backup, create any file like /backup/dbnames.txt and put databses names one on each line and assignd to DB_NAME variable.

    DB_HOST = 'localhost'
    DB_USER = 'root'
    DB_USER_PASSWORD = '_root_user_password_'
    #DB_NAME = '/backup/dbnames.txt'
    DB_NAME = 'db_name'
    BACKUP_PATH = '/backup/dbbackup/'

    # Getting current datetime to create seprate backup folder like "12012013-071334".
    DATETIME = time.strftime('%m%d%Y-%H%M%S')

    TODAYBACKUPPATH = BACKUP_PATH + DATETIME

    # Checking if backup folder already exists or not. If not exists will create it.
    print "creating backup folder"
    if not os.path.exists(TODAYBACKUPPATH):
        os.makedirs(TODAYBACKUPPATH)

    # Code for checking if you want to take single database backup or assinged multiple backups in DB_NAME.
    print "checking for databases names file."
    if os.path.exists(DB_NAME):
        file1 = open(DB_NAME)
        multi = 1
        print "Databases file found..."
        print "Starting backup of all dbs listed in file " + DB_NAME
    else:
        print "Databases file not found..."
        print "Starting backup of database " + DB_NAME
        multi = 0

    # Starting actual database backup process.
    if multi:
       in_file = open(DB_NAME,"r")
       flength = len(in_file.readlines())
       in_file.close()
       p = 1
       dbfile = open(DB_NAME,"r")

       while p <= flength:
           db = dbfile.readline()   # reading database name from file
           db = db[:-1]         # deletes extra line
           dumpcmd = "mysqldump -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"
           os.system(dumpcmd)
           p = p + 1
       dbfile.close()
    else:
       db = DB_NAME
       dumpcmd = "mysqldump -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"
       os.system(dumpcmd)

    print "Backup script completed"
    print "Your backups has been created in '" + TODAYBACKUPPATH + "' directory"

  • 相关阅读:
    C# Net 合并int集合为字符串,如:输入1,2,3,4,8 输出1~4,8
    sql server 安装出现需要sqlncli.msi文件,错误为 microsoft sql server 2012 native client
    C# Form 实现桌面弹幕
    C# Net 去除图片白边
    SQL common keywords examples and tricks
    Excel formula and tricks
    HIghcharts cheatsheet
    CSS common keywords examples and tricks
    小白终于弄懂了:c#从async/await到Task再到Thread
    LeetCode 2: single-number II
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/6831485.html
Copyright © 2011-2022 走看看