天天看點

mysql 自動備份腳本+自動上傳

OS:ubuntu 8.04.1

mysql 5.0

1、腳本mysqlbak.sh

#!/bin/sh

DATE=`date +%Y-%m-%d`

olddate=`date +%Y-%m-%d -d "-2 days"`

mkdir /data/mysqlback/$DATE

rm -rf /data/mysqlback/$olddate

mysqldump --add-drop-table    test | gzip > /data/mysqlback/$DATE/test_$DATE.sql.gz

#FTP 自動上傳

cd /data/mysqlback/$DATE

ftp   -i -n -v  <<EOF

open 127.0.0.1

user user_name user_passwd

binary

mkdir $DATE

rmdir $olddate   删除2天前的資料庫目錄以及資料檔案

cd $DATE

mput *

EOF

注:mkdir /data/mysqlback/$DATE  以目前日期建立目錄

     rm -rf /data/mysqlback/$olddate 删除前二天的目錄和檔案

該腳本能自動備份mysql test資料庫,自動删除前二天的mysql test備份資料庫。隻保留最近二天的mysql資料庫。

2、配置計劃任務crontab  (每天淩晨05:00開始備份)

root@db14:~# crontab -l

# m h    dom mon dow     command

0 5 * * *    /data/mysqlback/mysqlbak.sh > /tmp/baksql.log 2>&1

修改mysql 使用者密碼

mysql>  update user set password=password(’新密碼’) where user=’root’;

Query OK, 0 rows affected (0.00 sec)

Rows matched: 2 Changed: 0 Warnings: 0

mysql> FLUSH PRIVILEGES;