关闭

解读shell之备份mysql脚本

193人阅读 评论(0) 收藏 举报

# !/ bin / sh
export d
= `date  +% Y % m % d % H % M % S`   # 定义时间输出格式
mkdir 
- / data / dbbak / baktables / $d          #按照定义好的时间格式生成备份目录
for  i in `echo  " show tables "   |  mysql  - u bak  - ppassword db | grep  - v Tables`; #登陆数据库库选择db数据库,显示数据库表格。
do     
  echo $i; mysqldump 
-- add - drop - table  -- allow - keywords  - - - - u bak  - ppasswod mbook_hd $i  >  backup / $d / $i.sql   #   显示show table 结果按其对应参数进行备份--add -drop -   table 选项是防止导入时出错。
done   

tar czf backup
/ $d.tar.gz backup / $d /    #把backup下的文件分别 打包到 / backup/$d目录下
rm 
- rf backup / $d /        # 删除backup下的的已打包的文件夹

lftp 
- " cd /dbbak/; mput -c $d.tar.gz; quit "   - u bak,password sftp: // 192.168.0.138 

  #用lftp把 /dbback下的打包文件 传到192.168.0.138 sftp服务器上。-e 在选择上执行命令。

 

--------------------------------------

windows下批处理版本

@echo off
set remote_host=192.168.1.7
set remote_db=dbname
set romote_user=username
set remote_passwd=passwd
set local_db=dbname
set local_user=username
set local_passwd=passwd
echo '备份远程数据库数据'
mysqldump -h%remote_host% -u%romote_user% -p%remote_passwd% --skip-lock-tables --default-character-set=utf8 %remote_db%> pm.sql
echo '恢复本地数据库数据'
mysql -u%local_user% -p%local_passwd% --default-character-set=utf8 %local_db%< pm.sql
pause

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17528次
    • 积分:277
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:13篇
    • 译文:0篇
    • 评论:0条
    文章存档