惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
J
Java Code Geeks
Vercel News
Vercel News
A
About on SuperTechFans
G
Google Developers Blog
C
Check Point Blog
腾讯CDC
N
Netflix TechBlog - Medium
博客园 - 司徒正美
S
SegmentFault 最新的问题
D
DataBreaches.Net
博客园_首页
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
量子位
雷峰网
雷峰网
IT之家
IT之家
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
博客园 - 三生石上(FineUI控件)
H
Help Net Security
宝玉的分享
宝玉的分享
博客园 - 叶小钗

博客园 - CrunchYou

VMWare虚拟机Bridged类型网卡ping不通的原因和解决办法 CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系 virtio-blk简介[转] UML基础与Rose建模实训教程 实现阶段, 详细设计, 编码过程中的控制与管理 POSIX正则表达式 修改msde登录方式,设置sa密码为空 windows脚本调用批处理 诗经 全文 转:ADO.NET连接字符串 MindProject R6025解决 颜色的搭配适用,摘自某论坛 准确理解SO_REUSEADDR [转]UDP穿透NAT的原理与实现(UDP“打洞”原理) [转载]QQ空间技术架构之深刻揭密 Eclipse快捷键大全(转载) openssl的编译 - linux boost编译过程 -- linux log4cxx编译过程–linux
应用系统部署后远程备份
CrunchYou · 2016-06-04 · via 博客园 - CrunchYou

应用部署后,用户开始录入数据,担心应用不稳定,所以每天在用户录入数据后,都要备份应用系统;
由于设计时,数据库中存储的应用系统相关的有些文件,是存储的文件路径,所以,在备份数据库后,
需要同步将路径对应的文件备份下来。以便恢复时,能够完全恢复。

rem------------------------------------------------------------------------
rem 以下是备份批处理文件内容
rem------------------------------------------------------------------------
e:
cd e:\prodname_backup

set fn_date=%date:~0,4%%date:~5,2%%date:~8,2%
if "%time:~0,1%"==" " (set fn_time=0%time:~1,1%%time:~3,2%%time:~6,2%) else (set fn_time=%time:~0,2%%time:~3,2%%time:~6,2%)
set fld=%fn_date%_%fn_time%
set fn=prodname_%fn_date%_%fn_time%.backup
mkdir %fld%

c:
cd C:\Program Files (x86)\pgAdmin III\1.20\

echo 1 备份开始.................
pg_dump.exe --host 192.168.0.105 --port 5432 --username "pgsql" --role "pgsql" --no-password --format custom --blobs --section pre-data --section data --section post-data --encoding UTF8 --inserts --column-inserts --verbose --file "e:\prodname_backup\%fld%\%fn%" "proddbname"
echo 1 备份结束.................

echo 2 创建本地同名数据库开始.................
psql --host 127.0.0.1 --dbname=postgres --username=pgsql -f e:\prodname_backup\drop_create_localdb.sql
echo 2 创建本地同名数据库结束.................

echo 3 恢复到本地同名数据库开始.................
pg_restore.exe --host localhost --port 5432 --username "pgsql" --dbname "proddbname" --role "pgsql" --no-password --section pre-data --section data --section post-data --verbose "e:\prodname_backup\%fld%\%fn%"
echo 3 恢复到本地同名数据库结束.................


winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://username:password@192.168.0.105:22" "option transfer binary" "get /home/username/projdir e:\prodname_backup\%fld%\projdir" "exit" /log=e:\prodname_backup\%fld%\winscp-log.txt

e:
cd e:\prodname_backup\%fld%
dir %fn%
cd..


------------------------------------------------------------------------
sql内容,database每次都重建,若不重建,恢复是总是报权限问题
------------------------------------------------------------------------
drop database if exists proddbname;
create database proddbname


唯一值得记录的就是scp;
先尝试装cygwin,下载openssh,然后用其带的scp;
scp不能直接在命令行中通过参数制定密码,需要用秘钥,
在windows上通过ssh-keygen生产密钥对,然后将密钥的公钥传到服务器,追加到authorized_keys中

在服务器上配置ssh-config,然后windows client端用命令

scp -r -i /cygdrive/c/cygwin64/home/username/.ssh/id_rsa username@192.168.0.105:/home/username/prodname /cygdrive/e/backupdir

传输速度非常慢,改为用winscp,速度快了不止2倍

改用winscp,winscp直接指定用户名和密码,轻松搞定;