Home Database Mysql Tutorial linux下mysql自动备份脚本_MySQL

linux下mysql自动备份脚本_MySQL

Jun 01, 2016 pm 01:47 PM
linux mysql

bitsCN.com

    脚本放在 /home/user/mysql_backup.sh

    crontab

    # crontab -l

    # m h  dom mon dow   command

    28 16 * * * /home/user/mysql_backup.sh

    脚本如下

    #!/bin/sh

    # mysql_backup.sh: backup mysql databases and keep newest 5 days backup.

    #

    # Last updated: 20 March 2006

    # ----------------------------------------------------------------------

    # This is a free shell script under GNU GPL version 2.0 or above

    # Copyright (C) 2006 Sam Tang

    # Feedback/comment/suggestions : http://www.real-blog.com/

    # ----------------------------------------------------------------------

    # your mysql login information

    # db_user is mysql username

    # db_passwd is mysql password

    # db_host is mysql host

    # -----------------------------

    db_user="root"

    db_passwd="password"

    db_host="localhost"

    # the directory for story your backup file.

    backup_dir="/home/mybackup"

    # date format for backup file (dd-mm-yyyy)

    time="$(date +"%d-%m-%Y")"

    # mysql, mysqldump and some other bins path

    MYSQL="/usr/local/mysql/bin/mysql"

    MYSQLDUMP="/usr/local/mysql/bin/mysqldump"

    MKDIR="/bin/mkdir"

    RM="/bin/rm"

    MV="/bin/mv"

    GZIP="/bin/gzip"

    # check the directory for store backup is writeable

    test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

    # the directory for story the newest backup

    test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"

    # get all databases

    all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse show databases)"

    for db in $all_db

    do

    $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/backup.0/$time.$db.gz"

    done

    # delete the oldest backup

    test -d "$backup_dir/backup.5/" && $RM -rf "$backup_dir/backup.5"

    # rotate backup directory

    for int in 4 3 2 1 0

    do

    if(test -d "$backup_dir"/backup."$int")

    then

    next_int=`expr $int + 1`

    $MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"

    fi

    done

    exit 0;

    备注:

    mysql是以mysql用户身份运行的,对/home /mybackup不可写也会失败

    chmod 777 /home/mybackup问题解决了

bitsCN.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

How to set shortcut keys for sublime How to set shortcut keys for sublime Apr 16, 2025 am 09:15 AM

To set the shortcut keys for Sublime Text, follow these steps: Open the shortcut key settings file Key Bindings - User. Add shortcut key settings using the format { "keys": ["key combination"], "command": "command" }. Save changes. Reload the shortcut key settings for the changes to take effect.

How to set important Git configuration global properties How to set important Git configuration global properties Apr 17, 2025 pm 12:21 PM

There are many ways to customize a development environment, but the global Git configuration file is one that is most likely to be used for custom settings such as usernames, emails, preferred text editors, and remote branches. Here are the key things you need to know about global Git configuration files.

Laravel Introduction Example Laravel Introduction Example Apr 18, 2025 pm 12:45 PM

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

vscode setting Chinese tutorial vscode setting Chinese tutorial Apr 15, 2025 pm 11:45 PM

VS Code supports Chinese settings, which can be completed by following the steps: Open the settings panel and search for "locale". Set "locale.language" to "zh-CN" (Simplified Chinese) or "zh-TW" (Traditional Chinese). Save settings and restart VS Code. The settings menu, toolbar, code prompts, and documents will be displayed in Chinese. Other language settings can also be customized, such as file tag format, entry description, and diagnostic process language.

See all articles