mysql数据库的备份及免密码上传
主要利用了mysqldump和sshpass进行备份和免密上传
以下是代码实现:
#!/bin/bash
#该脚本放在主服务器运行
#从服务器账号密码ip
remotehost="xxxxxxxxxx" #远程主机IP
passwd="xxxxxxxx" #远程主机密码
user="root" #远程主机账号
localbackdir=/root/backupdir
remotebackdir=/root/backupdir
curdate=`date +"%Y-%m-%d"`
django_sql=$curdate"-django.sql"
vpnmaintenance_sql=$curdate"-vpn-maintenance.sql
if [ ! -d $localbackdir ];then
echo "test"
echo "本地备份目录不存在,将创建!"
mkdir $localbackdir
docker exec -it mysql mysqldump -u root -p"_VPN3211" django >$localbackdir/$django_sql
docker exec -it mysql mysqldump -u root -p"_VPN3211" vpn-maintenance >$localbackdir/$vpnmaintenance_sql
echo -e "\033[31m 以下是备份内容 \033[0m"
ls -lh $localbackdir
else
echo "本地备份目录存在,即将备份!"
echo `date`
#备份数据库
docker exec -it mysql mysqldump -u root -p"_VPN3211" django >$localbackdir/$django_sql
docker exec -it mysql mysqldump -u root -p"_VPN3211" vpn-maintenance >$localbackdir/$vpnmaintenance_sql
echo -e "\033[31m 以下是备份内容 \033[0m"
ls -lh $localbackdir
#echo $?
fi
#判断远程主机目录是否存在
result=`sshpass -p $passwd ssh $user@$remotehost "[ -d $remotebackdir ]"`
if [ $? == 0 ];then
echo "远程备份目录存在,将直接备份!"
sshpass -p$passwd scp $localbackdir/$django_sql $user@$remotehost:$remotebackdir/$django_sql
sshpass -p$passwd scp $localbackdir/$vpnmaintenance_sql $user@$remotehost:$remotebackdir/$vpnmaintenance_sql
echo -e "\033[31m 以下是备份内容 \033[0m"
sshpass -p$passwd ssh $user@$remotehost ls -lh $remotebackdir
else
echo "$remotebackdir 远程备份目录不存在,将创建!"
sshpass -p$passwd ssh $user@$remotehost mkdir $remotebackdir
sshpass -p$passwd scp $localbackdir/$django_sql $user@$remotehost:$remotebackdir/$django_sql
sshpass -p$passwd scp $localbackdir/$vpnmaintenance_sql $user@$remotehost:$remotebackdir/$vpnmaintenance_sql
sshpass -p$passwd ssh $user@$remotehost ls -lh $remotebackdir
fi
mysql数据库的备份及免密码上传的更多相关文章
- 百万行mysql数据库优化和10G大文件上传方案
百万行mysql数据库优化和10G大文件上传方案 最近这几天正在忙这个优化的方案,一直没时间耍,忙碌了一段时间终于还是拿下了这个项目?项目中不要每次都把程序上的问题,让mysql数据库来承担,它只是个 ...
- 使用percona-xtrabackup工具对mysql数据库的备份方案
使用percona-xtrabackup工具对mysql数据库的备份方案 需要备份mysql的主机 172.16.155.23存放备份mysql的主机 172.16.155.22 目的:将155.23 ...
- 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)
一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...
- Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁
Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: ...
- 如何用SQL语句实现Mysql数据库的备份与还原
以前一直做android客户端的项目,根本没有开发asp.net mvc的开发,现阶段做了一个模块,参数设置,以及数据库的备份与还原.其需求如下: 参数设置 本项参数设置为对自动数据备份进行设置,管理 ...
- mysqldump常用于MySQL数据库逻辑备份
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- [知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原
通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/tes ...
- mysql数据库的备份和还原
mysql数据库的备份命令:mysqldump -u root -p 要备份的现有数据库名 > 备份后的sql文件名.sql,例如: mysqldump -u root -p heal ...
- 关于MySQL数据库的备份方案
这里简单总结MySQL的备份分为3种:分为冷备份,逻辑备份,热备份. 1.冷备份: 一般主要用于非核心业务,这类业务一般都是允许业务中断的,冷备份的特点就是数度快,恢复时也最为简单.通常直接复物理文件 ...
随机推荐
- jenkins之构建maven项目
新建java项目 修改列子的pop.xml提交 在git的web界面打一个tag 再次修改代码 再次push 5.38
- Oracle Schema Objects——Index
索引主要的作用是查询优化. Oracle Schema Objects 查看执行计划的权限:查看执行计划plustrace:set autotrace trace exp stat(SP2-0618. ...
- day10(java web之request&respone&访问路径&编码问题)
day10 请求响应流程图 response response概述 response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletR ...
- 离线状态 Postman不能开启Postman Interceptor解决
目前的postman插件如果想正常使用,必须安装Postman Interceptor插件,这样才能直接使用chrome浏览器的cookie等信息,否则postman是无法完成老版本的功能的. 直接使 ...
- Solr安装步骤
一.Solr概述 1.什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可 ...
- Django小项目简单BBS论坛
开发一个简单的BBS论坛 项目需求: 1 整体参考"抽屉新热榜" + "虎嗅网" 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数.点赞数展示 5 在线用 ...
- The 2017 China Collegiate Programming Contest, Hangzhou Site Solution
A: Super_palindrome 题面:给出一个字符串,求改变最少的字符个数使得这个串所有长度为奇数的子串都是回文串 思路:显然,这个字符串肯定要改成所有奇数位相同并且所有偶数位相同 那统计一下 ...
- 2017-2018 ACM-ICPC East Central North America Regional Contest (ECNA 2017) Solution
A:Abstract Art 题意:给出n个多边形,求n个多边形分别的面积和,以及面积并 思路:模板 #include <bits/stdc++.h> using namespace st ...
- spring AOP的两种代理
本篇记录下spring AOP的两种代理,为下一篇AOP实现做下铺垫. 1.JDK动态代理 2.cglib代理 1.如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2.如果目标对象 ...
- C#——文件上传(一般处理程序ashx)
Framework版本:.Net Framework 4 1.FileInfo实体 using System; using System.Collections.Generic; using Syst ...