使用ssh实现oracle数据库备份文件自动异地存储
来源: 作者: 出处:综艺读书 2006-04-09使用export DATE=$(date +%Y%m%d) 日期参数和成功建立ssh RSA密匙对是关键
首先在oracle数据库服务器(211.96.97.52)设定自动备份脚本
|
|
|||
-bash-2.05b$ more /opt/oracle/product/movedata/movedata1.sh
ORACLE_HOME=/opt/oracle/product/9.0.2
export ORACLE_HOME
. /opt/oracle/product/.bash_profile
export DATE=$(date +%Y%m%d) #DATE变量的赋值代表当前日期
/opt/oracle/product/9.0.2/bin/exp goldring/123456@szdb file=/data/OracleDB_Backup/goldring.dmp log=/data/OracleDB_Back
up/loggoldring.dmp consistent=yes
/opt/oracle/product/9.0.2/bin/exp jltgame/123456@szdb file=/data/OracleDB_Backup/jltgame$DATE.dmp log=/data/OracleDB_Ba
ckup/logjltgame$DATE.dmp consistent=yes
/opt/oracle/product/9.0.2/bin/exp userid=oraclebackup/"abcd456&*("@szdb owner=moonprincess file=/data/OracleDB_Backup/moon
princess.dmp log=/data/OracleDB_Backup/logmoonprincess.dmp consistent=yes
#ftp -n 10.0.0.3 < /opt/oracle/product/movedata/ftpcommand
把/opt/oracle/product/movedata/movedata1.sh加入定时任务自动执行
-bash-2.05b$ crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.2257 installed on Wed Feb 2 13:40:43 2005)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 2 * * * sh /opt/oracle/product/movedata/movedata1.sh
0 6 * * * rm -f /opt/oracle/product/9.0.2/oradata/szdb/archive/*
然后在远程备份存储服务器(61.144.222.111)编写如下远程拷贝脚本:(因为我远程oracle数据库的备份是放在211.96.97.46上,所以脚本中的ip不是oracle数据库服务器的211.96.97.52)
[log@gameserver log]$ more /home/log/52.sh
export DATE=$(date +%Y%m%d) #注意:该DATE变量赋值的格式要和远程oracle数据库的DATE变量赋值格式一致
scp log@211.96.97.46:/data/OracleDB_Backup/jltgame$DATE.dmp /backup/52backup
scp log@211.96.97.46:/data/OracleDB_Backup/logjltgame$DATE.dmp /backup/52backup
将52.sh加入定时任务自动执行
[log@gameserver 37backup]$ crontab -l
30 3 * * * /home/log/52.sh
这时因为/home/log/52.sh script脚本没有设定输入密码,所以还需要建立RSA的密钥
在61.144.222.111生成log用户RSA密匙对
[log@gameserver log]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/log/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /log/.ssh/id_rsa.
Your public key has been saved in /log/.ssh/id_rsa.pub.
The key fingerprint is:
0a:be:f4:c6:55:50:d2:7a:e7:e7:ba:66:cd:d7:2f:26 log@gameserver
生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。接着会提示输入一
个不同于你的password的密码,直接回车,让它空着。当然,也可以输入一个。(我比较懒
,不想每次都要输入密码。) 这样,密钥对就生成完了。
其中公共密钥保存在 ~/.ssh/id_rsa.pub
私有密钥保存在 ~/.ssh/id_rsa
然后改一下 .ssh 目录的权限,使用命令 "chmod 755 ~/.ssh"
[log@gameserver log]$ chmod 0755 ~/.ssh/
之后把这个密钥对中的公共密钥拷贝到211.96.97.46的log用户,并保存为
~/.ssh/authorized_keys
[log@gameserver log]# scp /home/log/.ssh/id_rsa.pub 211.96.97.46:/home/log/.ssh/authorized_keys
此时调用/home/log/52.sh 一下,测试以下即大功告成
注意1:建立这对密钥以后,在61.144.222.111上远程登录211.96.97.46也不需要输入帐号密码了,这点很危险,所以慎用
注意2: id_rsa文件的权限必须是0700,否则密钥对不能生效,导致还是必须要输密码才能建立连接
[log@waplb .ssh]$ pwd
/home/log/.ssh
[log@waplb .ssh]$ ll
total 12
-rwx------ 1 log log 883 2月 2 17:16 id_rsa
-rwxr-xr-x 1 log log 219 2月 2 17:16 id_rsa.pub
-rwxr-xr-x 1 log log 445 2月 2 16:45 known_hosts
参考:http://www.chinaunix.net/jh/4/343905.html
http://www-900.ibm.com/developerworks/cn/linux/l-backup/index.shtml
http://www-900.ibm.com/developerWorks/cn/linux/security/openssh/part1/index.shtml#10
·系统备份专题 (13499篇文章)
·存储过程 (1682篇文章)
·数据库专栏 (4467篇文章)
·数据库处理专题 (7207篇文章)
·SSH安全技术 (6952篇文章)
·城域网专题 (6665篇文章)
·网络存储—光纤通道 (1709篇文章)
·数据库安全技术专题 (11203篇文章)
·数据库安装与卸载 (8925篇文章)
·改变非归档模式的Oracle数据库 (0次浏览)
·如何调试oracle, sql server存储过程 (0次浏览)
·oltp系统,数据块大小用4k还是8k好? (0次浏览)
·在RHEL4U4上安装Oracle10GS2 (0次浏览)
·如何在Python下连接Oracle数据库 (0次浏览)
·Oracle中对COLUMNS_UPDATED()返回值解析 (0次浏览)
·Oracle 容灾复制解决方案分析Shar Plex (0次浏览)
·简述数据库导入Oracle SQL*Loader指南 (0次浏览)
·详细解述oracle数据库九个基本操作 (0次浏览)
·Oracle-Decode()函数和CASE语句的比较 (18次浏览)
·Oracle9i数据挖掘介绍 (16次浏览)
·Linux 9i下Dataguard配置 (14次浏览)
·日志分析logmnr使用方法 (12次浏览)
·Oracle数据库如何查询记录时给记录加锁 (12次浏览)
·保持Oracle数据优良性能的若干诀窍 (10次浏览)
·Oracle体系框架及SQL语句性能探讨 (9次浏览)
·如何利用QCTO开发可重复使用的测试库 (8次浏览)
·理解物化视图刷新过程中出现的约束冲突 (8次浏览)
·Oracle SQL性能优化技巧大总结 (461次浏览)
·Oracle DBA数据库日常维护完全手册 (294次浏览)
·用ORACLE数据库存储海量图像数据 (286次浏览)
·Oracle体系结构:内存结构和进程结构 (248次浏览)
·开启企业殿堂的钥匙 Oracle服务器的安装 (185次浏览)
·将Oracle的数据导入EXCEL中的方法 (167次浏览)
·简单冷备份恢复操作步骤 (130次浏览)
·oracle下导出某用户所有表的方法 (128次浏览)
·ORACLE的客户端如何连接到数据库 (127次浏览)
·Oracle 动态SQL返回单条结果和结果集 06-25
·Oracle多行记录字符串综合操作几种方法 06-24
·如何通过实例配置Oracle监听器 06-24
·Oracle数据库中LONG类型字段的存取 06-24
·介绍几个基本的 SQLPLUS 命令 06-22
·与数据库无关的处理放到数据库以外来实现 06-22
·简析Oracle数据库最大可用性体系结构 06-22
·数据库开发者常犯的十大错误,你有吗? 06-21
·Oracle数据复制技术有效解决数据冗余 06-21
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |




