天天看點

linux下mysql自動備份腳本代碼linux下mysql自動備份腳本代碼

腳本放在 /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 bin's 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 

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

then 

next_int=`expr $int + 1` 

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

fi 

exit 0; 

備注: 

mysql是以mysql使用者身份運作的,對/home /mybackup不可寫也會失敗 

chmod 777 /home/mybackup問題解決了

本文轉自 古老 51CTO部落格,原文連結:http://blog.51cto.com/yzmlinux/1410015,如需轉載請自行聯系原作者

上一篇: LAMP+nginx+bbs
下一篇: Net-網卡綁定

繼續閱讀