1.先创建一个数据库备份目录:
  mkdir backup
  cd backup
  mkdir mysqlbackup
  cd mysqlbackup
  2.创建备份脚本
  vi mysqlautobackup
  3.编写脚本:
  filename=`date +%Y%m%d`
  /mysql的bin目录/mysqldump --opt 数据库名 -u(mysql账号) -p(mysql密码) | gzip > /备份到哪个目录/name$filename.gz
  说明:以上采用gzip压缩,name可随意写,注意-u与mysql账号之间没有空格也无需括号,-p与mysql密码也是。
  4.将脚本设置为可执行权限:
  chmod +x autobackup
  5.写入计划任务:
  crontab -e
  01 01 * * * /bin/bash /脚本所在目录/mysqlautobackup
  每天凌晨1点零1分执行脚本。
  重启计划任务:
  /etc/rc.d/init.d/crond restart
  至此所有步骤完成。
  一些常用技巧
  1、创建保存备份文件的路径/mysqldata
  #mkdir /mysqldata
  2、创建/usr/sbin/baktest文件
  输入以下内容:
  mysqldump -uroot -proot test | gzip > /mysqldata/test`date +%Y-%m-%d_%H%M%S`.sql.gz
  3、修改文件属性,使其可以执行
  #chmod +x /usr/sbin/baktest
  4、修改/etc/crontab
  在下面添加
  01 3 * * * root /usr/sbin/baktest
  表示每天3点钟01分执行备份
  5、重新启动crond
  #/etc/rc.d/init.d/crond restart
  完成。
  PS:
  全备份脚本:
  #!/bin/bash
  # Name:qbk全备份脚本
  # mysql qbk scripts
  # By zxsdw.com
  # Last Modify:2015-01-21
  #定义脚本存放路径
  #scriptsDir=/usr/sbin
  #定义用户名及密码
  user=root
  userPWD=密码
  #定义要备份的数据库
  database=数据库
  #定义完全备份文件存放路径
  bakDir=/backup/mysql
  #eMailFile=$bakDir/email.txt
  #eMail=admin@zxsdw.com
  #定义日志文件
  LogFile=$bakDir/mysqlbak.log
  DATE=`date +%Y%m%d`
  echo " " >> $LogFile
  echo " " >> $LogFile
  echo "--------------------------" >> $LogFile
  echo $(date +"%y-%m-%d %H:%M:%S") >>$LogFile
  echo "-----------------" >> $LogFile
  cd $bakDir
  DumpFile=$DATE.sql.gz
  mysqldump --flush-logs -u$user -p$userPWD --quick $database| gzip >$DumpFile
  echo "Dump Done" >> $LogFile
  echo "[$DumpFile]Backup Success!" >> $LogFile
  daily_databakDir=$bakDir/daily_backup
  cd $bakDir/daily_backup
  find $daily_databakDir -name "daily*" -type f -mtime +35 -exec rm {} ; > /dev/null 2>&1