解读shell之备份mysql脚本

    技术2022-07-04  173

    # !/ 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)