linux下MYSQL数据库自动备份 WEB...


  MYSQL数据库自动备份脚本dbbackup.sh的内容:
filename=`date +%Y%m%d`
/usr/local/mysql/bin/mysqldump --opt 数据库名 -u 用户 -p密码 | gzip >\
/本地备份保存路径/mysqlbackup/数据库名$filename.gz

  将MYSQL备份文件通过FTP传输到备份服务器上的脚本mysqlftp.sh的内容:
filename=`date +%Y%m%d`
echo "
open FTP服务器IP地址 端口号
user ftp用户名 登录密码
binary
cd FTP备份目录
put 数据库名$filename.gz
bye
" | ftp -n
  WEB应用程序文件夹自动备份脚本webfilebackup.sh的内容:
filename=`date +%Y%m%d`
if [ ! -d /本地备份保存路径/webfilebackup/webfile$filename ]
then
mkdir /本地备份保存路径/webfilebackup/webfile$filename
fi
cp -rf /本地WEB应用程序文件路径/* /本地备份保存路径/webfilebackup/webfile$filename
  将应用程序文件夹备份文件通过LFTP传输到备份服务器上的脚本webfileftp.sh的内容:
filename=`date +%Y%m%d`
echo "
cd FTP备份目录
mirror -R webfile$filename
bye
" | lftp FTP服务器IP地址 -p 端口号 -u ftp用户名,登录密码

以上脚本文件全部赋予可执行的权限:
如:chmod 777 dbbackup.sh
  然后编辑crontab,添加任务,操作系统每天自动去执行
#vi /etc/crontab
在最后一行加入以下内容:
01 2 * * * root /路径/dbbackup.sh #每天2点10分执行此脚本
10 2 * * * root /路径/webfilebackup.sh
30 2 * * * root /路径/mysqlftp.sh
40 2 * * * root /路径/webfileftp.s
#前5个字段,含义分别是分钟 小时 日 月 周
然后重启一下crontab:
# /etc/rc.d/init.d/crond restart

说明:里面有些路径,这里没有详细说明,脚本代码的含义也没有说,熟悉LINUX的用户应该是没有任何问题的。

  
MYSQL数据库在备份完后如何恢复呢?:
  下面是widnwos下的示例:【linux下雷同】

进入MySql:C:\Documents and Settings\user>mysql -u root -prootpwd
删除数据库:mysql> drop database new_db;
建新数据库:mysql> create database new_db;
用数据库:mysql> use new_db
导入sql文件:mysql> source c:\3456.sql


评论: 0 | 引用: 0 | 查看次数: 38
发表评论
你没有权限发表留言!