我写得脚本,每次备份我的MySQL数据库,就用下面的脚本完成。/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*@echo off
echo.
echo MySQL数据库备份echo *****************************
echo.
echo 今天是 %date%
echo 时间是 %time%
echo.
echo *****************************
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"md "D:\JDBC\%Ymd%""C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" --opt -Q -uroot -pabc123 --default-character-set=latin1 test > "D:\JDBC\%Ymd%\test_bak.sql"echo.echo MySQL数据库备份完成,请进行检查echo.
echo.pause
echo 今天是 %date% >> /var/backuo.log
echo 时间是 %time% >> /var/backuo.log...echo MySQL数据库备份完成,请进行检查 >>/var/backuo.log
-------------------这样把日志记录到文件中去吧,方便跟踪查询
[coolwind@localhost util]$ cat mysqlbackup.sh
#!/bin/bash
#################################
#
# Author coolwind
# Time 2009-06-11
# File mysqlbackup.sh
# Desc Backup MySQL data file
#
#################################
#Set the varible.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
# Get the date messages and backup directory
backuptime=`date +%Y%m%d%H%M%S_%N`
backupdir=/mnt/backup/db/
backuppre=db_backup_
# MySQL infomation
HOST=127.0.0.1
PORT=3307
USER=root
#PASS=password
BACKUPDBFILE=$backupdir$backuppre$backuptime.sql
echo $BACKUPDBFILE
mysqldump -u$USER -h$HOST -P$PORT --all-databases --lock-all-tables --add-drop-database --add-drop-table --comments --complete-insert --default-character-set=utf8 --result-file=$BACKUPDBFILE
echo "$BACKUPDBFILE -> $BACKUPDBFILE.bz2"
bzip2 -z $BACKUPDBFILE[coolwind@localhost util]$ crontab -l
#分 時 日 月 週 |<==============指令串========================>|
35 4 * * * /home/coolwind/util/mysqlbackup.sh >>/home/coolwind/util/logs/mysqlbackup.log 2>&1
然后将mysql备份到当天的文件夹中。
%date% 和 %time% 这两个属于系统级别的变量。
显示如下:
echo %date%
2010-04-14 星期三echo %time%
0:33:14.09
-----------------------------------------------
比较复杂的是对%date%的扩展操作,下面的语句是个set赋值语句,将日期赋值到变量Ymd。 日期分为三部分:年+月+日 分别是%date:~,4% %date:~5,2% %date:~8,2%
这三个扩展变量和%date%不同是,对%date%的结果字符串进行定位选择,date后加:~ 然后指定开始的位置,后面紧接着是 逗号,然后是指定选择的长度。2010-04-14 星期三 这个日期的从第一位取4个字符就是2010,从第5个位置取2个字符就是10,第8个位置取2个字符就是14
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"下面的创建新文件夹的语句很简单。如果不能保证%Ymd%的父目录是否存在,可以加选项 /p,自动创建。
md "D:\JDBC\%Ymd%"
地址:http://www.mysqlops.com/2011/10/13/mysql-myisam-backup.html内提供了自动备份的脚本,以及自动精准还原MySQL数据库的脚本....
#*********************#
技术网站:www.mysqlops.com
新浪微博:http://weibo.com/mysqlops
#*********************#
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" --opt -Q -uroot -pabc123 --default-character-set=latin1 test > "D:\JDBC\%Ymd%\test_bak.sql"
这句话里面的参数 -Q 是mysql参数还是mysqldump参数呀
含义和作用是什么啊
请赐教....感谢...