用户名: 密码: 免费注册 忘记密码? 网站地图 | 加入收藏 | 设为首页
首页 | 新闻 | 工具 | 系统 | 办公 | 聊天 | 多媒体 | 网页 | 运营 | 平面 | 欣赏 | 数据库 | 程序 | 服务器 | 组网
网页 | 3dmax | Ghost | Windows Xp| Dreamweaver | photoshop | Flash | office | Alexa | Css | QQ | Asp | PHP | Jsp | Access
Flash MX 2004入门 | 网站推广策略 | CorelDRAW入门 | ASP学习 | 网站建设大师功 | Word入门
  iTbulo.com > 学院 > 数据库开发教程 > Sybase教程 > 综合技术 > 正文
Shell脚本实现sybase数据备份
iTbulo.COM 2007-5-20 佚名()
可在 sybase 用户下创建,将其命名为 bcpoutdata 。

  然后 chmod a+x bcpoutdata

  在 sybase 用户下运行 bcpoutdata 即可。

  注:

  1)将 database_name 改为你的数据库名。

  2)将 pas 改为你的 sa 口令。

  3)将 server 改为你的 SQL server 名。

  4)要导入,将 out 改为 in 即可。

  最后提醒你,别忘了要在 sybase 用户下创建一个目录,

  把 bcpoutdata 置入其中,再运行。

  什麽?你要打包、压缩。

  哈,在后面加几条:

  tar cvf data.tar *.bcp

  compress data.tar

  rm *.bcp

  愿各位好运

isql -Usa -Ppas -Sserver -otables.tmp <<-EOF
USE database_name
GO
SELECT name FROM sysobjects WHERE type='U' ORDER BY name
GO
exit
EOF
vi tables.tmp </dev/null
:1,2 d
:$ d
:1,$ <<<
: x
EOF
total=`cat tables.tmp|wc -l`
current=0
for table in `cat tables.tmp`
do
current=$current+1
echo "*** $current/$total bcpout $table ***"
bcp database_name..$table out $table.bcp -Usa -Ppas -Sserver -Jiso_1 -c
echo "*** $table done ***n"
done
rm tables.tmp

  首先感谢诸位对此文的兴趣,现解释如下:

  一、导出用户数据库中的表,将其置入文件 tables.tmp 中。

isql -Usa -Ppas -Sserver -otables.tmp <<-EOF
USE database_name
GO
SELECT name FROM sysobjects WHERE type='U' ORDER BY name
GO
exit
EOF

  二、编辑 tables.tmp ,因 tables.tmp 中首两行和末三行,

  是我们不要的东西。前次的有小小错,现更正如下:

vi tables.tmp </dev/null
:1,2 d   (删首两行)
:$     (到末行)
:-2,. d   (删末三行)
:1,$ <<<  (清各行左侧空格,即各行顶左。当然一个 < 也够用,1,$ 也可换成 % )
: x
EOF

  至如 <使它们不在屏上显示,哈哈、、、就用它了。

  找本书看看,再在 SHELL 下,带 <键入上述脚本,你就会有收获的。EOF 可用其他字母,但前后必须一致。

  三、导出用户数据库各表中的数据

[1] [2] 下一页

文章搜索
相关资讯
相关文章 相关下载
超级PK:Sybase与Oracle的十二场性能比拼
焦点信息